OpenCode — Agents
- File format
- Markdown
- Discovery path
-
.opencode/agents - Global install path
-
~/.config/opencode/agents - Syllago install method
- Symlink, Direct copy
- Symlink support
- Yes
- Native frontmatter fields
-
name,description,tools,model,steps,color,temperature
Features
How each feature converts to syllago's canonical format. See format conversion for what these statuses mean.
Fields
Native frontmatter or config fields this provider exposes. The first column is the provider's own field name; the canonical key column links to syllago's cross-provider equivalent.
| Provider field | Conversion | Canonical key | Summary |
|---|---|---|---|
mode | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | — | Frontmatter mode field selects whether the agent is a root primary agent, a subagent invoked by another agent, or both. |
model | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | model_selection | Frontmatter model field selects a specific model alias or full model string for the agent, overriding the session default. |
permission | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | — | Frontmatter permission map configures ask/allow/deny behavior per tool, replacing the deprecated tools allow/deny map. |
steps | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | — | Frontmatter steps field caps the number of model steps for this agent. Replaces the deprecated maxSteps field. |
temperature | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | — | Per-agent sampling temperature via frontmatter temperature field. |
top_p | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | — | Per-agent nucleus sampling top_p value via frontmatter. |
color | Conversion type: No canonical equivalent — appended as prose in a conversion notes block so nothing is silently lost. Learn more → | — | Optional color hint for UI display of the agent. |
hidden | Conversion type: No canonical equivalent — appended as prose in a conversion notes block so nothing is silently lost. Learn more → | — | Boolean hidden flag excludes the agent from interactive selection UIs while still allowing programmatic invocation. |
Other features
Behaviors, conventions, and capabilities that aren't tied to a single named field — things like path-based activation, discovery rules, and lifecycle behavior.
| Feature | Conversion | Summary |
|---|---|---|
agent_scopes | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | Two scopes: project (.opencode/agents/) and user-global (~/.config/opencode/agents/). Both scopes are loaded and coexist. |
definition_format | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | Markdown files with YAML frontmatter loaded from .opencode/agents/*.md (project) and ~/.config/opencode/agents/*.md (global). The loader glob accepts both agent/ and agents/ directory names and recurses. Frontmatter declares description (required), mode, model, permission, steps, temperature, top_p, color, and hidden; the markdown body becomes the system prompt. |
invocation_patterns | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | Agent name derives from the filename (configEntryNameFromPath). Agents with mode: primary can be selected as the session agent; agents with mode: subagent are invoked by other agents via description-driven matching; mode: all allows both. |
subagent_spawning | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | Agents with mode: subagent (or mode: all) can be invoked from other agents; delegation is driven by the callee's description field. |
tool_restrictions | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | The permission frontmatter map configures ask/allow/deny per tool, replacing the deprecated tools allow/deny map. |
Sources
| Source |
|---|
| https://opencode.ai/docs/agents/ |
| https://raw.githubusercontent.com/sst/opencode/dev/packages/opencode/src/config/agent.ts |