๐Ÿค– 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