Skip to content

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).

  • claude β€” Claude (Anthropic)
  • codex β€” Codex (OpenAI)
  • opencode β€” OpenCode (community) (community provider)
  • pi β€” Pi (community) (community provider)
  • copilot β€” Copilot (GitHub) (community provider)
Capabilityclaudecodexopencodepicopilot
Session resumeβœ…βœ…βœ…βœ…βœ…
MCP servers (mcp:)βœ…βœ…βœ…βŒβœ…
Hooks (hooks:)βœ…βŒβŒβŒβŒ
Skills (skills:)βœ…βœ…ΒΉβœ…βœ…βœ…
Inline sub-agents (agents:)βœ…βŒβœ…Β²βŒβœ…
Tool restrictions (allowed_tools/denied_tools)βœ…βŒβœ…βœ…βœ…
Structured output (output_format)enforcedenforcedenforcedbest-effortbest-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)βœ…βŒβŒβŒβŒ
  • ΒΉ codex β€” Skills (skills:) β€” Filesystem auto-discovery from .agents/skills/ β€” per-node skills: lists are informational; use provider: claude for node-scoped skills.
  • Β² opencode β€” Inline sub-agents (agents:) β€” Config-file-based agent selection (named agents from opencode.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’s manage_run tool into project-scoped chat).

For per-provider field-level notes (YAML syntax, caveats), see the AI Assistants guide.