Skip to main content
All configuration lives in .env at your workspace root. The setup wizard (octo init) generates this file, or you can create it manually from .env.example.

LLM Providers

Octo supports 5 providers. You only need to configure one.
The simplest option — direct API access to Claude models.
ANTHROPIC_API_KEY=sk-ant-...
DEFAULT_MODEL=claude-sonnet-4-5-20250929

Auto-Detection

The model factory auto-detects the provider from the model name:
Model name patternProvider
github/*GitHub Models
eu.anthropic.*, us.anthropic.*AWS Bedrock
claude-*Anthropic direct
gpt-*, o1-*, o3-*OpenAI
gpt-* + AZURE_OPENAI_ENDPOINT setAzure OpenAI
Override with LLM_PROVIDER if needed:
LLM_PROVIDER=bedrock  # anthropic | bedrock | openai | azure | github

Model Tiers

Octo uses three tiers to balance cost vs quality. Different agents use different tiers:
TierUsed ForExample
HIGHComplex reasoning, architecture, multi-step planningclaude-opus-4-5-20250929
DEFAULTSupervisor routing, general chat, tool useclaude-sonnet-4-5-20250929
LOWSummarization, simple workers, cost-sensitive tasksclaude-haiku-4-5-20251001
DEFAULT_MODEL=claude-sonnet-4-5-20250929
HIGH_TIER_MODEL=claude-opus-4-5-20250929
LOW_TIER_MODEL=claude-haiku-4-5-20251001

Model Profiles

Profiles are presets that map tiers to agent roles:
ProfileSupervisorWorkersHigh-tier agents
qualityhighdefaulthigh
balanceddefaultlowhigh
budgetlowlowdefault
MODEL_PROFILE=balanced
Switch at runtime with /profile <name>.

Agent Directories

Load agents from external projects by pointing to their AGENT.md directories:
AGENT_DIRS=/path/to/project-a/.claude/agents:/path/to/project-b/.claude/agents
Colon-separated. Each directory is scanned for */AGENT.md files.

Middleware Tuning

# Max chars for a single tool result before truncation
TOOL_RESULT_LIMIT=40000

# Context window summarization triggers (whichever fires first)
SUMMARIZATION_TRIGGER_FRACTION=0.7
SUMMARIZATION_TRIGGER_TOKENS=100000

# Tokens of recent history to keep after summarization
SUMMARIZATION_KEEP_TOKENS=20000

# Supervisor per-message char limit
SUPERVISOR_MSG_CHAR_LIMIT=30000

MCP Servers

MCP server configuration lives in .mcp.json. See .mcp.json.example for a template, and MCP Servers for management commands.

Next Steps