Ultracode
reasoning_effort: ultracode is the highest setting on the effort dial. It is not an additional API effort value — Anthropic's Messages API only accepts up to xhigh/max on the wire. Ultracode is a mode, mirroring Claude Code's "Ultracode" level:
xhigh reasoning + a standing prerogative to orchestrate multi-agent workflows.
It is delivered through prompt engineering (a standing-consent system instruction) rather than a new wire parameter, and it is reliable only on claude-opus-4-8 — the orchestration half is backed by Anthropic's mid-conversation system messages, which ship on Opus 4.8 only. On any other model ultracode degrades gracefully to plain xhigh.
See Anthropic's reference: Effort and Build an orchestration mode.
What the runtime does
When a node declares reasoning_effort: ultracode, iterion:
- Sends
xhighon the wire. The value is remapped viamodel.wireEffortbefore it reaches the provider, then coerced to what the model accepts (xhighon Opus 4.8/4.7,highon OpenAI, etc.). The literalultracodenever reaches an LLM API. - Grants the orchestration prerogative. A
## Workflow Orchestrationsection is appended to the system prompt giving standing consent to decompose substantial work across parallel subagents (via theagenttool) and to verify findings adversarially — without asking first. - Makes the subagent tool available. On the
clawbackend, theagentsubagent tool is added to the node's allowlist when the node restricts its tools (an unrestricted set already exposes the claw builtins). Theclaude_codebackend orchestrates through its native subagent mechanism. - Warns off Opus 4.8. Compiling
ultracodeon a model that isn'tclaude-opus-4-8emits diagnostic C089 (a warning, not an error): the orchestration half won't be reliable and the node runs as plainxhigh.
Adaptive thinking is enabled automatically for Opus 4.8 by the claw backend (thinking: {type: "adaptive"}), so ultracode gets extended thinking without extra configuration.
Usage
agent implementer:
backend: "claude_code"
model: "anthropic/claude-opus-4-8"
reasoning_effort: ultracode
system: build_system
user: build_taskUltracode fits implementer/agent nodes that benefit from spawning helpers for independent sub-parts. It is wasteful on judges, routers, and simple read-only nodes — use high or xhigh there, and keep cheap LLM routers on a small model such as anthropic/claude-sonnet-4-6.
The value is also settable dynamically from an upstream node:
router -> implementer with {_reasoning_effort: "ultracode"}and via env substitution, which is resolved (and re-validated) at runtime:
reasoning_effort: "${ITERION_EFFORT:-ultracode}"Relationship to other dials
- Effort vs. cursors. Effort (including ultracode) controls compute and the orchestration prerogative. Cursors are qualitative framing dials (ambition/depth/rigor/autonomy) appended under
## Calibration. They are orthogonal and compose freely. - Ultracode vs. routers. Routers (
fan_out_all,llm) orchestrate at the workflow graph level — the author wires the branches. Ultracode lets a single agent node orchestrate dynamically at run time by spawning subagents it decides it needs. Use both together for deep fan-out.
Studio
The effort selector offers ultracode only when the node's model is claude-opus-4-8 (the /api/effort-capabilities endpoint gates it server-side, complementing the C089 compile warning). The EffortBar renders it full-bar in a distinct accent tone, reading as "beyond max".
