Skip to main content

Available Agents

oh-my-opencode provides 11 built-in agents, each optimized for specific tasks:
AgentDefault ModelTemperatureModePurpose
sisyphusclaude-opus-4-60.1primaryMain orchestrator, plans & delegates
hephaestusgpt-5.3-codex0.1primaryAutonomous deep worker
prometheusclaude-opus-4-60.1Strategic planner (internal)
metisclaude-opus-4-60.3subagentPre-planning consultant
momusgpt-5.20.1subagentPlan reviewer
oraclegpt-5.20.1subagentRead-only consultation
librarianglm-4.70.1subagentExternal docs/code search
exploregrok-code-fast-10.1subagentContextual grep
multimodal-lookergemini-3-flash0.1subagentPDF/image analysis
atlasclaude-sonnet-4-60.1primaryTodo-list orchestrator
sisyphus-juniorclaude-sonnet-4-60.1allCategory-spawned executor

Agent Modes

mode
enum
Controls how the agent resolves its model:
  • primary: Respects UI-selected model, uses fallback chain
  • subagent: Uses own fallback chain, ignores UI selection
  • all: Available in both contexts (Sisyphus-Junior only)

Basic Configuration

Configure agents under the agents key:
{
  "agents": {
    "explore": { 
      "model": "anthropic/claude-haiku-4-5", 
      "temperature": 0.5 
    },
    "multimodal-looker": { 
      "disable": true 
    }
  }
}

Agent Options

All agents support these configuration options:

Model Selection

model
string
Model override in provider/model format.
"sisyphus": { "model": "anthropic/claude-opus-4-6" }
category
string
Inherit model from a category instead of specifying directly.
"oracle": { "category": "ultrabrain" }
variant
enum
Model variant for thinking budget. Options: max, xhigh, high, medium, low
"sisyphus": { "variant": "max" }
fallback_models
string | string[]
Fallback models on API errors. Used with runtime_fallback.
"sisyphus": {
  "model": "anthropic/claude-opus-4-6",
  "fallback_models": ["openai/gpt-5.2", "google/gemini-3-pro"]
}

Sampling Parameters

temperature
number
default:"0.1"
Sampling temperature (0.0–2.0). Higher = more creative.
"metis": { "temperature": 0.3 }
top_p
number
Top-p sampling (0.0–1.0). Alternative to temperature.
"explore": { "top_p": 0.9 }

Prompts

prompt
string
Replace the entire system prompt.
"oracle": {
  "prompt": "You are an expert architect. Provide read-only consultation."
}
prompt_append
string
Append text to the system prompt. Supports file:// URIs.Inline text:
"prometheus": {
  "prompt_append": "Leverage deep & quick agents heavily, always in parallel."
}
Absolute path:
"sisyphus": {
  "prompt_append": "file:///home/user/prompts/sisyphus-custom.md"
}
Relative path:
"oracle": {
  "prompt_append": "file://./prompts/oracle.md"
}
Home directory:
"librarian": {
  "prompt_append": "file://~/.config/opencode/librarian-prompt.md"
}

Response Control

maxTokens
number
Maximum tokens for response. Passed directly to OpenCode SDK.
"hephaestus": { "maxTokens": 8000 }
textVerbosity
enum
Text verbosity level: low, medium, high
"explore": { "textVerbosity": "low" }

Thinking Configuration

thinking
object
Anthropic extended thinking configuration.
"oracle": {
  "thinking": { 
    "type": "enabled", 
    "budgetTokens": 200000 
  }
}
Fields:
  • type: "enabled" or "disabled"
  • budgetTokens: Maximum thinking tokens (optional)
reasoningEffort
enum
OpenAI reasoning effort: low, medium, high, xhigh
"hephaestus": { "reasoningEffort": "high" }

Ultrawork Override

ultrawork
object
Per-message model/variant override when user says “ultrawork”.
"sisyphus": {
  "model": "kimi-for-coding/k2p5",
  "ultrawork": { 
    "model": "anthropic/claude-opus-4-6", 
    "variant": "max" 
  }
}

Other Options

disable
boolean
default:false
Disable this agent entirely.
"multimodal-looker": { "disable": true }
description
string
Human-readable description shown in agent selection.
"oracle": {
  "description": "Expert architect for read-only consultation"
}
color
string
UI color in hex format (#RRGGBB).
"sisyphus": { "color": "#4A90E2" }
providerOptions
object
Provider-specific options. Passed directly to OpenCode SDK.
"hephaestus": {
  "providerOptions": {
    "anthropic": { "topK": 50 }
  }
}

Tool Permissions

Control what tools an agent can use:
{
  "agents": {
    "explore": {
      "permission": {
        "edit": "deny",
        "bash": "ask",
        "webfetch": "allow",
        "task": "deny",
        "doom_loop": "deny",
        "external_directory": "ask"
      }
    }
  }
}

Permission Values

permission.edit
enum
File editing permission: ask, allow, deny
permission.bash
enum | object
Bash command permission. Can be:
  • Global: "ask", "allow", "deny"
  • Per-command:
"bash": {
  "git": "allow",
  "rm": "deny",
  "npm": "ask"
}
permission.webfetch
enum
Web fetch permission: ask, allow, deny
permission.task
enum
Task delegation permission: ask, allow, deny
permission.doom_loop
enum
Doom loop prevention: ask, allow, deny
permission.external_directory
enum
Access to directories outside workspace: ask, allow, deny

Tool Restrictions

Limit which tools an agent can use:
{
  "agents": {
    "oracle": {
      "tools": {
        "read": true,
        "grep": true,
        "glob": true,
        "bash": true,
        "write": false,
        "edit": false,
        "task": false
      }
    }
  }
}

Built-in Tool Restrictions

Some agents have default tool restrictions:
AgentDenied Tools
oraclewrite, edit, task, call_omo_agent
librarianwrite, edit, task, call_omo_agent
explorewrite, edit, task, call_omo_agent
multimodal-lookerALL except read
atlastask, call_omo_agent
momuswrite, edit, task

Skill Injection

Inject skills into an agent’s prompt:
{
  "agents": {
    "hephaestus": {
      "skills": ["git-master", "playwright"]
    }
  }
}

Disabling Agents

Two ways to disable agents: Method 1: Per-agent disable
{
  "agents": {
    "multimodal-looker": { "disable": true }
  }
}
Method 2: Global disabled_agents array
{
  "disabled_agents": ["oracle", "multimodal-looker"]
}

Hephaestus Special Configuration

Hephaestus is optimized for GPT models. Non-GPT models are blocked by default.
agents.hephaestus.allow_non_gpt_model
boolean
default:false
Allow non-GPT models for Hephaestus.
"hephaestus": {
  "model": "anthropic/claude-opus-4-6",
  "allow_non_gpt_model": true
}
Hephaestus is tuned for GPT models. Using non-GPT models may degrade performance.

Complete Example

A comprehensive agent configuration:
{
  "agents": {
    // Main orchestrator with ultrawork boost
    "sisyphus": {
      "model": "kimi-for-coding/k2p5",
      "temperature": 0.1,
      "variant": "medium",
      "ultrawork": {
        "model": "anthropic/claude-opus-4-6",
        "variant": "max"
      },
      "fallback_models": ["openai/gpt-5.2", "google/gemini-3-pro"],
      "prompt_append": "file://./prompts/sisyphus-guidance.md"
    },

    // Autonomous worker
    "hephaestus": {
      "model": "openai/gpt-5.3-codex",
      "variant": "high",
      "reasoningEffort": "high",
      "maxTokens": 8000,
      "skills": ["git-master"]
    },

    // Read-only consultant
    "oracle": {
      "model": "openai/gpt-5.2",
      "thinking": {
        "type": "enabled",
        "budgetTokens": 200000
      },
      "permission": {
        "edit": "deny",
        "write": "deny",
        "bash": {
          "git": "allow",
          "ls": "allow"
        }
      },
      "tools": {
        "read": true,
        "grep": true,
        "task": false
      }
    },

    // Code search specialist
    "explore": {
      "model": "github-copilot/grok-code-fast-1",
      "textVerbosity": "low",
      "permission": {
        "edit": "deny",
        "bash": "deny"
      }
    },

    // Disable multimodal agent
    "multimodal-looker": {
      "disable": true
    }
  },

  // Alternative: disable multiple agents globally
  "disabled_agents": ["momus"]
}

Next Steps

Categories

Configure domain-specific model delegation

Runtime Fallback

Auto-switch models on API errors

Build docs developers (and LLMs) love