This guide provides complete configuration examples for overriding agent and category models in Oh-My-OpenCode v3.1.x.
| File | Location | Purpose |
|---|---|---|
opencode.json |
~/.config/opencode/opencode.json |
Provider & model definitions |
oh-my-opencode.json |
~/.config/opencode/oh-my-opencode.json |
Agent & category assignments |
- Project-level
.opencode/oh-my-opencode.json(highest) - User-level
~/.config/opencode/oh-my-opencode.json - Built-in defaults (lowest)
This is the recommended configuration for using Google Antigravity (no API keys required):
| Agent | Config Key | Default Model | Provider | Temp |
|---|---|---|---|---|
| Sisyphus | sisyphus |
anthropic/claude-opus-4-5 | Anthropic | 0.1 |
| Atlas | atlas |
anthropic/claude-opus-4-5 | Anthropic | 0.1 |
| Sisyphus-Junior | sisyphus-junior |
anthropic/claude-sonnet-4-5 | Anthropic | 0.1 |
| Prometheus | prometheus |
anthropic/claude-opus-4-5 | Anthropic | 0.1 |
| Metis | metis |
anthropic/claude-sonnet-4-5 | Anthropic | 0.3 |
| Momus | momus |
anthropic/claude-sonnet-4-5 | Anthropic | 0.1 |
| Oracle | oracle |
openai/gpt-5.2 | OpenAI | 0.1 |
| Librarian | librarian |
opencode/big-pickle | OpenCode | 0.1 |
| Explore | explore |
opencode/gpt-5-nano | OpenCode | 0.1 |
| Multimodal-Looker | multimodal-looker |
google/gemini-3-flash | 0.1 |
IMPORTANT: All agent config keys are lowercase. Using
"Sisyphus"instead of"sisyphus"will cause the override to be silently ignored!
The following agents were REMOVED and should be deleted from your config:
| Agent | Former Config Key | Replacement |
|---|---|---|
frontend-ui-ux-engineer |
Use visual-engineering category |
|
document-writer |
Use writing category |
| Old Name | New Config Key |
|---|---|
atlas |
| Category | Config Key | Default Model | Variant |
|---|---|---|---|
| Visual Engineering | visual-engineering |
google/gemini-3-pro | - |
| Ultrabrain | ultrabrain |
openai/gpt-5.2-codex | xhigh |
| Artistry | artistry |
google/gemini-3-pro | max |
| Quick | quick |
anthropic/claude-haiku-4-5 | - |
| Unspecified Low | unspecified-low |
anthropic/claude-sonnet-4-5 | - |
| Unspecified High | unspecified-high |
anthropic/claude-opus-4-5 | max |
| Writing | writing |
google/gemini-3-flash | - |
Config Key: sisyphus
Default Model: anthropic/claude-opus-4-5
Temperature: 0.1
"agents": {
"sisyphus": {
"model": "google/antigravity-claude-opus-4-5-thinking-high",
"temperature": 0.1
}
}Role: Primary implementation agent. Has HARD BLOCK for frontend visual changes (must delegate to visual-engineering category).
Config Key: atlas
Default Model: anthropic/claude-opus-4-5
Temperature: 0.1
"agents": {
"atlas": {
"model": "google/antigravity-claude-opus-4-5-thinking-high",
"temperature": 0.1
}
}Role: Master orchestrator that holds the TODO list and coordinates all specialist agents. Renamed from orchestrator-sisyphus in v3.1.x.
Config Key: sisyphus-junior
Default Model: anthropic/claude-sonnet-4-5
Temperature: 0.1
"agents": {
"sisyphus-junior": {
"model": "google/antigravity-claude-sonnet-4-5-thinking",
"temperature": 0.1
}
}Role: Spawned by delegate_task tool to execute category-specific tasks. Can call delegate_task for sub-delegation.
Config Key: prometheus
Default Model: anthropic/claude-opus-4-5
Temperature: 0.1
"agents": {
"prometheus": {
"model": "google/antigravity-claude-sonnet-4-5-thinking-high",
"temperature": 0.1
}
}Role: Pure strategic planner. Never writes code. Creates detailed plans with dependency graphs and parallel execution analysis.
Config Key: metis
Default Model: anthropic/claude-sonnet-4-5
Temperature: 0.3
"agents": {
"metis": {
"model": "google/antigravity-claude-sonnet-4-5-thinking-low",
"temperature": 0.3
}
}Role: Pre-planning analysis and gap detection. Higher temperature (0.3) for creative problem identification.
Config Key: momus
Default Model: anthropic/claude-sonnet-4-5
Temperature: 0.1
"agents": {
"momus": {
"model": "google/antigravity-claude-sonnet-4-5-thinking-low",
"temperature": 0.1
}
}Role: Ruthless plan validator. Constrained to evaluate documentation, not design direction.
Config Key: oracle
Default Model: openai/gpt-5.2
Temperature: 0.1
"agents": {
"oracle": {
"model": "openrouter/openai/gpt-4o",
"temperature": 0.1
}
}Role: Consultation and debugging specialist. Tool-restricted: no write, edit, task, or delegate_task.
Config Key: librarian
Default Model: opencode/big-pickle
Temperature: 0.1
"agents": {
"librarian": {
"model": "google/gemini-2.5-flash",
"temperature": 0.1
}
}Role: Multi-repo research via GitHub CLI and Context7. Uses dynamic year instead of hardcoded dates.
Config Key: explore
Default Model: opencode/gpt-5-nano
Temperature: 0.1
"agents": {
"explore": {
"model": "google/gemini-2.5-flash",
"temperature": 0.1
}
}Role: Fast contextual grep for code exploration.
Config Key: multimodal-looker
Default Model: google/gemini-3-flash
Temperature: 0.1
"agents": {
"multimodal-looker": {
"model": "google/gemini-2.5-flash",
"temperature": 0.1
}
}Role: PDF and image analysis. Restricted to read-only tool access.
For environments without internet access, set this environment variable:
export OPENCODE_DISABLE_MODELS_FETCH=trueSee samples/opencode-air-gapped.json and samples/oh-my-opencode-air-gapped.json for complete configuration examples.
Before (wrong):
"agents": {
"Sisyphus": { ... },
"Atlas": { ... },
"Prometheus (Planner)": { ... },
"Metis (Plan Consultant)": { ... },
"Momus (Plan Reviewer)": { ... }
}After (correct):
"agents": {
"sisyphus": { ... },
"atlas": { ... },
"prometheus": { ... },
"metis": { ... },
"momus": { ... }
}Delete these entries from your config:
frontend-ui-ux-engineerdocument-writer
If you have orchestrator-sisyphus in your config, rename it to atlas.
If you have custom prompts or scripts referencing sisyphus_task, update to delegate_task.
Symptom: An agent's model doesn't load, but there's no error message.
Most Common Cause: Invalid configuration parameters in the agents section.
OMO v3.1.2 introduced strict schema validation. Any unrecognized parameter will cause the model to silently fail to load.
Example of BROKEN config:
"agents": {
"sisyphus": {
"model": "google/antigravity-claude-opus-4-5-thinking-high",
"temperature": 0.1,
"thinking": { // ❌ INVALID - causes silent failure!
"type": "enabled",
"budgetTokens": 10000
}
}
}ALLOWED parameters in agents section:
modelvarianttemperaturetop_ppromptprompt_appendtoolsdisabledescriptionmodecolorpermission
That's it! Any other key (like thinking, maxTokens, thinkingLevel, etc.) will break model loading.
Where to put thinking config instead:
Thinking/reasoning settings belong in opencode.json model definitions, NOT in oh-my-opencode.json:
// opencode.json - CORRECT place for thinking config
"provider": {
"google": {
"models": {
"antigravity-claude-opus-4-5-thinking-high": {
"options": {
"thinkingLevel": "high"
}
}
}
}
}Quick validation command:
# Check for invalid keys in your config
jq '.agents | to_entries[] | {agent: .key, invalid_keys: (.value | keys - ["model","variant","temperature","top_p","prompt","prompt_append","tools","disable","description","mode","color","permission"])}' ~/.config/opencode/oh-my-opencode.json- Verify config key is lowercase (case-sensitive!)
- Check for invalid parameters (see above - most common issue!)
- Check if using Antigravity models without the plugin installed
- Run
bunx oh-my-opencode doctorto check model resolution
- Config keys must be exactly as shown in the table above
- Check for typos:
sisyphusnotSisyphusorsysiphus - Verify the file is valid JSON (use
jq . oh-my-opencode.json)
Category default model takes precedence over parent model. Override in categories section:
"categories": {
"quick": {
"model": "your-preferred-model"
}
}- RENAMED:
orchestrator-sisyphus→atlas - REMOVED:
frontend-ui-ux-engineer(usevisual-engineeringcategory) - REMOVED:
document-writer(usewritingcategory) - RENAMED:
sisyphus_task→delegate_task - CLARIFIED: All agent config keys are lowercase
- BREAKING: Strict config parameter filtering - invalid keys cause silent model loading failures
- Added air-gapped configuration support
- Initial documented version
Based on Commit:
0d938059f9fc01e925392f1fe0eb47dbda3410f4
Documentation Version: 3.1.2
{ "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "google_auth": false, "sisyphus_agent": { "disabled": false, "planner_enabled": true, "replace_plan": true }, "disabled_hooks": [ "anthropic-context-window-limit-recovery" ], "agents": { "sisyphus": { "model": "google/antigravity-claude-opus-4-5-thinking-high", "temperature": 0.1 }, "atlas": { "model": "google/antigravity-claude-opus-4-5-thinking-high", "temperature": 0.1 }, "sisyphus-junior": { "model": "google/antigravity-claude-sonnet-4-5-thinking", "temperature": 0.1 }, "prometheus": { "model": "google/antigravity-claude-sonnet-4-5-thinking-high", "temperature": 0.1 }, "metis": { "model": "google/antigravity-claude-sonnet-4-5-thinking-low", "temperature": 0.3 }, "momus": { "model": "google/antigravity-claude-sonnet-4-5-thinking-low", "temperature": 0.1 }, "oracle": { "model": "openrouter/openai/gpt-4o", "temperature": 0.1 }, "librarian": { "model": "google/gemini-2.5-flash", "temperature": 0.1 }, "explore": { "model": "google/gemini-2.5-flash", "temperature": 0.1 }, "multimodal-looker": { "model": "google/gemini-2.5-flash", "temperature": 0.1 } }, "categories": { "visual-engineering": { "model": "google/antigravity-gemini-3-pro-high", "temperature": 0.7 }, "ultrabrain": { "model": "google/antigravity-claude-opus-4-5-thinking-high", "temperature": 0.1 }, "artistry": { "model": "google/antigravity-gemini-3-pro-high", "temperature": 0.7 }, "quick": { "model": "google/gemini-2.5-flash", "temperature": 0.3 }, "unspecified-low": { "model": "google/antigravity-claude-sonnet-4-5-thinking", "temperature": 0.1 }, "unspecified-high": { "model": "google/antigravity-claude-opus-4-5-thinking-high", "temperature": 0.1 }, "writing": { "model": "google/gemini-2.5-flash", "temperature": 0.5 } } }