Fugu turns Claude Code into a front end for Sakana’s multi-agent system: same terminal workflow you already know, but the model behind it is an orchestrator commanding a pool of frontier models. Setup takes one command — or five environment variables if you’d rather wire it yourself. This guide covers both paths, the documented quirks, updating, uninstalling, and the failure modes. Everything here was verified against Sakana’s official repository and get-started documentation on August 19, 2026.
The one-line install
curl -fsSL https://sakana.ai/fugu/install | bash
The bootstrap clones Sakana’s repository into ~/.fugu and asks what to set up: Codex, Claude Code, or both. To skip the menu and install only the Claude Code integration:
curl -fsSL https://sakana.ai/fugu/install | bash -s -- --claude
You’ll need a Sakana API key (they start with fish_ and are shown once at creation, so store yours somewhere safe). The one-liner officially supports Ubuntu and macOS; on Windows, use the manual setup below or see our Windows guide. Prerequisite: Claude Code itself must already be installed — the Fugu installer points it at Sakana but doesn’t install it.
What the installer actually does
The Claude Code installer (~/.fugu/scripts/install-claude.sh) is deliberately minimal, and its restraint is worth understanding because it’s the opposite of what most integrations do:
- It stores your API key in
~/.claude/.fugu-env(file mode 0600, inside a 0700 directory). If you already set up the Codex side, it reuses the key from~/.codex/.env— read-only, without modifying that file. - It installs a small launcher,
claude-fugu, to~/.local/bin. - That’s all. It deploys no config bundle and never edits
~/.claude/settings.jsonor any other Claude Code configuration — so a shared or carefully tuned Claude setup is never touched, and there’s nothing to back up.
At launch, claude-fugu sets the ANTHROPIC_* environment variables for that session and executes Claude Code. The launcher parses no flags of its own — every argument is forwarded straight through (claude "$@"), so anything you’d pass to claude works identically with claude-fugu.
Manual setup: the five environment variables
Prefer no launcher at all? Claude Code points at Fugu entirely through documented environment variables. The one mistake everyone makes: use ANTHROPIC_AUTH_TOKEN (a bearer token), not ANTHROPIC_API_KEY. From Sakana’s get-started page, verbatim:
export ANTHROPIC_BASE_URL="https://api.sakana.ai"
export ANTHROPIC_AUTH_TOKEN="fish_..." # your Sakana key
export ANTHROPIC_DEFAULT_OPUS_MODEL="fugu-ultra[1m]"
export ANTHROPIC_DEFAULT_SONNET_MODEL="fugu[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="fugu[1m]"
export ANTHROPIC_DEFAULT_FABLE_MODEL="fugu-cyber[1m]" # optional (access-gated)
export CLAUDE_CODE_SUBAGENT_MODEL="fugu[1m]"
claude # now talks to Fugu
The mapping: Claude Code’s Opus tier becomes fugu-ultra[1m], Sonnet and Haiku both become fugu[1m], subagents run on fugu[1m], and the optional Fable tier maps to fugu-cyber[1m] — which only works if you’ve been granted Fugu Cyber access. Exports last for the current shell session; put them in your shell profile to make them permanent (which is effectively what the launcher saves you from doing).
The documented quirks (all cosmetic)
Claude Code is closed source, so Fugu drives it entirely through the documented environment variables and Sakana’s server-side gateway. A few interface surfaces therefore reflect Claude Code’s built-in assumptions rather than Fugu’s lineup. Sakana documents three, and stresses they’re cosmetic — the model you talk to, its responses, streaming, tool use, and subagents all behave as configured:
- The effort slider. Claude Code shows six stops; Fugu maps them onto its two real levels at the high/xhigh boundary, so stops within a group are equivalent. Don’t expect six distinct behaviors.
- The model picker. Sonnet and Haiku both resolve to
fugu[1m], so two identical rows appear, and descriptions name the Anthropic tier rather than the Fugu model. - The session header. Billing and default-tier labels reflect API-token usage rather than your actual Sakana billing arrangement.
Sakana notes that because Claude Code evolves independently, new cosmetic mismatches may surface over time. If something looks off but responses are fine, it’s probably this category.
Updating — the part that catches people
Unlike its Codex sibling, claude-fugu does not auto-update. It runs no hourly checks and never prompts you. When Sakana ships new Fugu support for Claude Code — new models, changed mappings — you pick it up by re-running the installer, which reinstalls the launcher:
bash ~/.fugu/scripts/install-claude.sh
Worth putting a reminder on: if a new Fugu model launches and your Claude Code can’t see it, this one command is almost certainly the fix.
Uninstalling
bash ~/.fugu/scripts/install-claude.sh --remove
That deletes only the launcher; the stored key survives in ~/.claude/.fugu-env, so delete that file by hand if you want a clean exit. Since the installer never modified Claude Code’s own configuration, there’s nothing else to undo — plain claude was talking to Anthropic all along.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
claude-fugu: command not found | The launcher lives in ~/.local/bin, which isn’t on every PATH. Add it: export PATH="$HOME/.local/bin:$PATH" (the installer warns about this at install time). |
| Launcher exits with an install hint | Claude Code itself isn’t on your PATH. The launcher checks for claude before starting and won’t proceed without it — install Claude Code first. |
| Authentication errors | Wrong or stale key, or (manual setup) you exported ANTHROPIC_API_KEY instead of ANTHROPIC_AUTH_TOKEN. Re-store the key with install-claude.sh --set-key, or --reconfigure during a reinstall to overwrite it. |
| New Fugu model missing from the picker | The launcher doesn’t auto-update — re-run install-claude.sh (see above). |
| Two identical Sonnet/Haiku rows, odd effort slider | Not a bug — documented cosmetic quirks (see above). |
| Install failed partway | rm -rf ~/.fugu and re-run the one-liner — a plain re-run reuses the broken clone. Full details in the troubleshooting guide. |
Cost awareness before you start
Two things to know before your first long session. First, the Opus tier in this setup is Fugu Ultra, whose internal agents bill orchestration tokens at full rates — a coding agent that escalates to Ultra frequently will cost more than the visible token counts suggest. Second, for hands-on daily use, Sakana’s subscription plans ($20–$200/month as of August 2026, both Fugu and Fugu Ultra included) convert that variability into a flat fee. Estimate your workload with the cost calculator, or try the models first in the browser playground with a credit-limited key.
Is the Claude Code integration official?
Yes — the installer, launcher, and environment-variable setup are published by Sakana AI in its official Fugu repository and documentation. It is not an Anthropic product, though: Claude Code itself is Anthropic’s tool, and Fugu drives it through documented environment variables.
Will installing Fugu change my existing Claude Code setup?
No. The installer writes only its own key file (~/.claude/.fugu-env) and the launcher binary. It never edits ~/.claude/settings.json or any Claude Code config, and plain `claude` keeps working with Anthropic exactly as before — Fugu is active only when you launch via claude-fugu or export the variables yourself.
Where does my API key live, and how do I rotate it?
In ~/.claude/.fugu-env with 0600 permissions. Rotate it with `bash ~/.fugu/scripts/install-claude.sh –set-key`. If you set up Codex first, the Claude installer reuses the key stored in ~/.codex/.env without modifying it.
Can I use both the Codex and Claude Code integrations together?
Yes — the one-liner offers ‘both’, and they share one API key (install the Codex side first; the Claude installer reuses its key). The launchers are independent: codex-fugu manages config and updates for Codex, claude-fugu just launches Claude Code with the right environment.
Related guides: installing Fugu in Codex, the Windows setup, install troubleshooting, and the full Fugu API guide when you’re ready to go beyond the terminal.
