๐ค LLM Providers & Models
Bifrost supports dual backends โ Anthropic Claude and Google Gemini. Switch globally or per-job.
Supported Providers
CLAUDE Anthropic
Claude CLI via pwsh -File claude.ps1. Primary backend. Full NDJSON streaming, thinking
budgets, session resume.
GEMINI Google
Gemini CLI via cmd /c gemini. Secondary backend. Stream-JSON output, yolo mode, API key
auth.
Available Models
Claude Models
| Model Name | Used For (Default) | Best At |
|---|---|---|
opus |
session, research, autopilot | Complex reasoning, long tasks, code architecture |
sonnet |
workflow, clara | Fast execution, routine tasks, cost-efficient |
haiku |
โ | Quick queries, lightweight tasks |
Gemini Models
| Model Name | Used For (Default) | Best At |
|---|---|---|
gemini-3.1-pro-preview |
session, research, autopilot | Complex multi-step reasoning, code generation |
gemini-3-flash-preview |
workflow, clara | Fast responses, lightweight operations |
Default Model per Job Type
| Job Type | Claude Default | Gemini Default |
|---|---|---|
| session | opus | gemini-3.1-pro-preview |
| research | opus | gemini-3.1-pro-preview |
| workflow | sonnet | gemini-3-flash-preview |
| clara | sonnet | gemini-3-flash-preview |
| autopilot | opus | gemini-3.1-pro-preview |
Override per-job: Set the
model field in the job payload to use a different
model than the default. You can also specify backend to override the global provider.
Effort / Thinking Budget
Control how much "thinking" the model does. Higher effort = deeper reasoning but more tokens. Claude only โ Gemini CLI doesn't support thinking budget flags.
| Level | Claude Tokens | Gemini Tokens | Best For |
|---|---|---|---|
| low | 5,000 | 1,024 | Simple, well-defined tasks |
| medium | 20,000 | 8,192 | Standard complexity (default) |
| high | 80,000 | 32,768 | Complex reasoning, large codebases |
Gemini limitation: The effort setting is stored in the payload for Gemini jobs but not passed
as a CLI flag. Gemini handles thinking budget internally. The tokens shown for Gemini are the target values
but are not enforced via CLI args.
Switching Providers
Global Default
Change the default backend for all new jobs:
| Method | How |
|---|---|
| Portal Settings | Open Settings (โ๏ธ gear icon) โ Bifrost tab โ select Provider |
| Bifrost API | POST bifrost.mipos.io:4003/settings with {"cliBackend":"gemini"} |
| Environment | Set CLI_BACKEND=gemini in .env and restart Bifrost |
Per-Job Override
Override the backend for a single job without changing the global setting:
// In the job payload:
{
"backend": "gemini", // Override provider
"model": "gemini-3.1-pro-preview", // Specific model
"effort": "high" // Thinking budget
}
CLI Flags Reference
| Feature | Claude CLI | Gemini CLI |
|---|---|---|
| Prompt | -p "..." |
-p "..." |
| Model | --model opus |
-m gemini-3.1-pro-preview |
| Output format | --output-format stream-json |
-o stream-json |
| Auto-approve | --dangerously-skip-permissions |
-y (yolo mode) |
| Resume session | --resume {sessionId} |
-r {sessionId} |
| Thinking budget | --thinking-budget 20000 |
Not supported |
| Max turns | --max-turns 50 |
Not supported |
| Verbose | --verbose |
Always verbose |
Environment Variables
| Variable | Required | Description |
|---|---|---|
CLAUDE_PATH |
Yes (if using Claude) | Path to Claude CLI script (e.g. claude.ps1) |
GEMINI_PATH |
Yes (if using Gemini) | Path to Gemini CLI executable |
CLI_BACKEND |
No | Default backend โ claude or gemini |
GEMINI_API_KEY |
Yes (if using Gemini) | Google API key for Gemini CLI |