Provider Capability Matrix
Each column is a registered provider id (the value you set as provider: in a
workflow or .archon/config.yaml). A β
means Archon translates the corresponding
per-node YAML field for that provider; a β means the field is accepted but ignored
(the dag-executor emits a visible warning when the run reaches such a node).
Providers
Section titled βProvidersβclaudeβ Claude (Anthropic)codexβ Codex (OpenAI)opencodeβ OpenCode (community) (community provider)piβ Pi (community) (community provider)copilotβ Copilot (GitHub) (community provider)
Capabilities
Section titled βCapabilitiesβ| Capability | claude | codex | opencode | pi | copilot |
|---|---|---|---|---|---|
| Session resume | β | β | β | β | β |
MCP servers (mcp:) | β | β | β | β | β |
Hooks (hooks:) | β | β | β | β | β |
Skills (skills:) | β | β ΒΉ | β | β | β |
Inline sub-agents (agents:) | β | β | β Β² | β | β |
Tool restrictions (allowed_tools/denied_tools) | β | β | β | β | β |
Structured output (output_format) | enforced | enforced | enforced | best-effort | best-effort |
Env injection (env:) | β | β | β | β | β |
Cost control (maxBudgetUsd) | β | β | β | β | β |
Effort control (effort) | β | β | β | β | β |
Thinking control (thinking) | β | β | β | β | β |
Fallback model (fallbackModel) | β | β | β | β | β |
Sandbox (sandbox) | β | β | β | β | β |
Setting sources (settingSources) | β | β | β | β | β |
| In-process native tools | β | β | β | β | β |
| Container exec (folder-project container backend) | β | β | β | β | β |
Caveats
Section titled βCaveatsβ- ΒΉ
codexβ Skills (skills:) β Filesystem auto-discovery from.agents/skills/β per-nodeskills:lists are informational; useprovider: claudefor node-scoped skills. - Β²
opencodeβ Inline sub-agents (agents:) β Config-file-based agent selection (named agents fromopencode.json) with per-call model/tools overrides β not inline sub-agent definitions.
- β / β β the per-node field is wired for this provider, or accepted-but-ignored.
- β ΒΉ (superscript) β supported, but with semantics that differ from the headline meaning of the axis β see Caveats.
- Structured output β
enforced(the SDK/backend grammar-constrains decoding),best-effort(schema appended to the prompt, then validated + re-asked up to 3Γ), or β (unsupported). See AI Assistants β Structured output guarantees. - In-process native tools β the provider can register Archon
NativeTools for a turn (gates auto-injection of Archonβsmanage_runtool into project-scoped chat).
For per-provider field-level notes (YAML syntax, caveats), see the AI Assistants guide.