Supported agents
If a harness is not installed, the interactive launcher offers to install it and asks for confirmation first.
Launch a harness
- Interactive launcher
- Direct launch
bifrost launch --tabs runs several harnesses in one terminal, with some rendering differences from native mode.Enterprise SSO or virtual key), and the equivalent harness command. Launches change only the child process environment and temporary files:
- Claude Code receives the gateway URL and model. With SSO, it also receives a temporary
--settingsfile whoseapiKeyHelperrunsbifrost auth print-token; the file is removed when Claude Code exits. - Codex CLI runs with a temporary
CODEX_HOMEcontaining a copy of yourconfig.tomlplus abifrostprovider. The temporary home, including that session’s history, is removed when Codex exits. - OpenCode receives an owner-readable temporary provider configuration that is removed when OpenCode exits.
- Inherited provider credentials such as
ANTHROPIC_API_KEYorOPENAI_API_KEYare removed from the child environment so they cannot override the Bifrost credential.
Persist configuration for direct use
bifrost configure writes the Bifrost endpoint, virtual key, and optional model into the harness’s own configuration so it works when you run the harness directly. It supports Claude Code and Codex CLI, and requires a virtual key: short-lived SSO tokens are never written to long-lived files.
Before changing anything, the CLI saves a restoration receipt under
~/.bifrost/receipts/. To undo the change:
unconfigure restores the exact files captured before configuration. If you edited a configured file afterwards, configure and unconfigure refuse to overwrite it; rerun with --force to proceed. The receipt contains your original files and the virtual key, so it is written with owner-only permissions.
For Claude Code without the launcher and with SSO, configure apiKeyHelper yourself; see Dynamic credentials with apiKeyHelper.
Verify requests flow through Bifrost
- Check the launch banner:
endpointshows your Bifrost URL andauthshows the expected credential type. - Inside the harness, confirm the model:
/statusin Claude Code and Codex, or the model footer in OpenCode. - Send a short prompt.
- Confirm the request reached Bifrost:
- Enterprise SSO users:
bifrost usageshows updated budget usage and the model under top models for your identity. - Administrators:
bifrost logs list --limit 5or the dashboard Logs page shows the request with the expected virtual key or user.
- Enterprise SSO users:
Harness caveats
- Model permissions. The launcher lists models from
/v1/modelsusing the effective credential, so it shows only models your user or virtual key can use. The model must also support the tool calling the harness relies on. - Gemini CLI sends its credential as
x-goog-api-key, which cannot carry an SSO session. Store a virtual key before launching Gemini on a gateway that enforces inference authentication. - Codex CLI builds its
/modelpicker from its own catalog. Start Codex with the full Bifrost model ID (bifrost codex --model provider/model) and confirm with/status. Codex uses the Responses API, so non-OpenAI models must support Responses tool calls through Bifrost. - OpenCode shows the launched model as
bifrost/<model>. Relaunch to switch to a model outside that generated provider. If colors differ from a direct launch, set an explicit theme in~/.config/opencode/tui.json. - Claude Code model setup, routing aliases, and MCP are covered in the Claude Code guide.
Next steps
Claude Code
Static and dynamic Claude Code credentials, models, and MCP.
Troubleshooting
Fix common authentication, context, and agent errors.
CLI Agents
Per-agent configuration and limitations, including manual setup.

