記事一覧に戻る
Claude Code Ships ultracode: xhigh Reasoning + Dynamic Workflows That Orchestrate Hundreds of Parallel Agents

Claude Code Ships ultracode: xhigh Reasoning + Dynamic Workflows That Orchestrate Hundreds of Parallel Agents

ZenChAIne·
Claude CodeAI AgentPlugin

Introduction

On May 28, 2026, Anthropic shipped a new Claude Code setting called ultracode. It pairs the xhigh reasoning effort level with automatic orchestration of dynamic workflows, toggled via the /effort menu.

Dynamic workflows themselves let Claude write a JavaScript script and have a runtime execute it in the background, fanning out 10s to 100s of parallel subagents. Jarred Sumner (creator of Bun) used this to port Bun from Zig to Rust — ~750,000 lines, 99.8% of the existing test suite passing, in 11 days.

Key Takeaways

  • ultracode is a new setting in Claude Code v2.1.154+. /effort ultracode enables xhigh reasoning + automatic workflow orchestration
  • Dynamic workflows themselves are in research preview. 10s to 100s of parallel subagents, up to 16 concurrent / 1,000 agents per run
  • Three triggers: ① ultracode keyword in prompt (single task), ② /effort ultracode (session-wide), ③ bundled workflows like /deep-research
  • Max / Team / API: default ON. Pro: turn on in /config. Enterprise: default OFF, admin enables
  • A single workflow run uses substantially more tokens than a normal session. Use /workflows to monitor progress and cost; p to pause / resume
  • Sits at a different level than agent-skills spec-implement dispatch modes (Codex sub-agents / Claude Code agent team / cmux / single agent)
  • The /goal command (v2.1.139+) handles across-turn autonomy, ultracode handles within-turn parallelism, and auto mode handles per-tool approvals — stack all three to drive a large migration unattended

What's New About ultracode and Dynamic Workflows

Claude Code already had subagents, skills, and agent teams for parallel work. Dynamic workflows differ because Claude writes a script and the runtime executes it.

The official docs lay out the comparison as follows:

SubagentsSkillsAgent teamsWorkflows
What it isA worker Claude spawnsInstructions Claude followsA lead agent supervising peer sessionsA script the runtime executes
Who decides what runs nextClaude, turn by turnClaude, following the promptThe lead agent, turn by turnThe script
Where intermediate results liveClaude's context windowClaude's context windowA shared task listScript variables
What's repeatableThe worker definitionThe instructionsThe team definitionThe orchestration itself
ScaleA few delegated tasks per turnSame as subagentsA handful of long-running peersDozens to hundreds of agents per run
InterruptionRestarts the turnRestarts the turnTeammates keep runningResumable in the same session

The big shift is that the plan moves into code. Claude's context only sees the final answer, while the loop, branching, and intermediate results stay in the script. That repeatability is what lets workflows apply patterns like adversarial review or multi-angle drafting.

The ultracode setting turns on the mode where Claude decides automatically when to invoke a workflow, and simultaneously bumps reasoning to xhigh.

Three Ways to Trigger

ultracode Keyword in a Prompt (single task)

Including ultracode in your prompt turns that one task into a workflow.

text
ultracode: audit every API endpoint under src/routes/ for missing auth checks

Natural language like "use a workflow" works the same way. (Before v2.1.160 the literal trigger keyword was workflow.)

Claude Code highlights the keyword in your input. To dismiss a false trigger, press Option+W (macOS) / Alt+W (Windows/Linux), or backspace right after the highlighted keyword. To disable the keyword trigger entirely, turn off Ultracode keyword trigger in /config.

/effort ultracode (session-wide)

text
/effort ultracode

This combines xhigh reasoning effort + automatic workflow orchestration for the whole session. Claude decides per task whether a workflow is warranted — a single request can become multiple workflows in a row (one to understand the code, one to make the change, one to verify it).

Lasts for the current session and resets when you start a new one. Drop back with /effort high for routine work. Only shown on models that support xhigh.

③ Bundled Workflows

Example: /deep-research ships as a built-in workflow that fans out web searches, cross-checks sources, and returns a cited report.

text
/deep-research What changed in the Node.js permission model between v20 and v22?

Saved workflows are invoked the same way: /<name>.

How a Workflow Runs

The runtime executes the script in an isolated environment with intermediate results in script variables, not in Claude's context. Every run writes its script to a file under your session directory at ~/.claude/projects/, so you can read or edit it and ask Claude to relaunch from the edited version.

Behavior and limits

ConstraintWhy
No mid-run user input (only permission prompts can pause a run)For sign-off between stages, run each stage as its own workflow
No direct filesystem or shell access from the workflow itselfAgents read, write, and run commands; the script coordinates them
Up to 16 concurrent agents (fewer on machines with limited CPU cores)Bounds local resource use
1,000 agents total per runPrevents runaway loops

Run /workflows to see each phase with agent counts, token totals, and elapsed time. Use p to pause / resume, x to stop, r to restart an agent, s to save the run's script as a command.

Approval modes

Permission modeWhen you're prompted
Default, accept editsEvery run (skip with "Yes, and don't ask again")
AutoFirst launch only; fully skipped when ultracode is on
Bypass permissions, claude -p, Agent SDKNever

Note: the launch prompt setting controls only that — the subagents the workflow spawns always run in acceptEdits mode, inheriting your tool allowlist.

Official Case Studies: Klarna / CyberAgent / Bun

Three case studies appear in the official blog.

Klarna (Senior Engineering Manager: Alessio Vallero)

"Dynamic workflows have been especially valuable for discovery and review tasks across large codebases. We've seen strong results using it to identify dead code and surface cleanup opportunities that traditional static analysis missed, helping our engineers move faster on maintenance and refactoring work."

CyberAgent (Lead Systems Engineer: Ken Takao)

"Dynamic workflows fill the gap between firing off a single subagent and building out a full agent team. Plan to implementation just flows, so we can trust longer runs without losing visibility."

Bun's Zig → Rust port (Jarred Sumner)

ItemValue
Port languagesZig → Rust
Duration11 days from first commit to merge
Scale~750,000 lines of Rust
Tests99.8% of the existing test suite passing

The setup chained multiple workflows: ① map the correct Rust lifetime for every struct field in the Zig codebase, ② write each .rs as a behavior-identical port of its .zig counterpart — hundreds of agents in parallel with two reviewers per file, ③ a fix loop drove the build and test suite until both ran clean, ④ an overnight workflow addressed unnecessary data copies and opened a PR for each. Not yet in production, but all of this was handled by dynamic workflows.

The /goal Command — "Across-Turn Autonomy" vs "Within-Turn Parallelism"

Claude Code also has the /goal command (v2.1.139+), which is often confused with ultracode. They actually live on different axes, and the official guidance is to combine them.

/goal sets a completion condition with an autonomous loop. Give it a natural-language condition like "all tests in test/auth pass and the lint step is clean" and Claude keeps running across turns until the condition holds. After every turn, a small fast model (defaults to Haiku) evaluates whether the condition is met. If not, the next turn starts automatically. Internally, /goal is a wrapper around a session-scoped, prompt-based Stop hook.

The official comparison table:

MechanismNext turn starts whenStops when
/goalPrevious turn finishesA model confirms the condition is met
/loopA time interval elapsesYou stop it, or Claude decides the work is done
Stop hookPrevious turn finishesYour own script or prompt decides
ultracode + auto mode(A workflow runs within a single turn)The workflow finishes

ultracode and /goal Are Complementary, Not Competing

The three layers stack:

  • /goal: manages across-turn autonomy for the whole session (horizontal axis)
  • ultracode: decides within-turn parallelism (vertical axis) — fanning out tens to hundreds of agents
  • auto mode: automates per-tool approvals inside a single turn

Combined, you get three layers of automation:

bash
# Large migration running unattended with auto + ultracode + /goal
/effort ultracode
/goal All tests under test/api/ pass and npm run typecheck exits 0
# auto mode assumed to be set via permission mode

This makes "auto mode approves tools per turn → ultracode fans out hundreds of agents when a turn warrants a workflow → /goal keeps Claude running across turns until done" all active at once. Under Auto mode, ultracode skips the workflow launch confirmation prompt; adding /goal then keeps subsequent turns running toward the condition (the skip itself is caused by Auto + ultracode; /goal operates on the across-turn layer).

Combining all three can grow token usage non-linearly, so Anthropic recommends testing on a small slice first before letting a full run loose.

Writing an Effective /goal Condition

The evaluator (Haiku or similar) only sees what Claude has surfaced in the conversation — it does not call tools. Write conditions so Claude proves them by surfacing results.

  • One measurable end state: a test result, a build exit code, a file count, an empty queue
  • A stated check: how Claude should prove it (e.g., npm test exits 0, git status is clean)
  • Constraints that matter: things that must not change along the way ("don't modify other test files")
  • Turn / time bound: include something like or stop after 20 turns to cap runaway runs
  • Up to 4,000 characters

Using /goal

bash
# Set
/goal all tests in test/auth pass and the lint step is clean
 
# Check (no args)
/goal
 
# Clear
/goal clear   # aliases: stop, off, reset, none, cancel
 
# Non-interactive mode
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

An active goal restores when you resume the session via --resume or --continue, but turn count, timer, and token-spend baseline reset on resume. Achieved or cleared goals are not restored.

Note: /goal requires the workspace trust dialog accepted (the evaluator runs inside the hooks system). It is unavailable when disableAllHooks is set at any level, or when allowManagedHooksOnly is set in managed settings.

How This Relates to agent-skills' spec-implement

In ZenChAIne's Spec-Driven Development series, spec-implement also parallelizes worker skills across four dispatch modes (Codex sub-agents / Claude Code agent team / cmux dispatch / single agent).

The two are not competitors — they sit at different levels of abstraction.

LayerRoleParallelism
spec-implement dispatchMaps role separation (spec-code / spec-review / spec-test) onto an agent runtime (Codex / Claude Code / cmux)A handful of roles (implementer / reviewer / tester)
Dynamic workflowsA JavaScript script + agent runtime fans out dozens to hundreds of agents inside Claude CodeDozens to hundreds

Practical combinations:

  • Run spec-implement with ultracode ON during Phase 6 Task Loop, so each [code] task can auto-parallelize when Claude judges it useful
  • For large migrations, start spec-implement --issue {N}, then also flip on /effort ultracode so workflow orchestration is available

That said, dynamic workflows are token-heavy. Orchestration that fits cleanly into spec-implement's role split sometimes remains more traceable when kept there. Knowing both options is what lets you pick the right level per task.

Cost and Disabling

Cost

A single workflow run uses substantially more tokens than a normal Claude Code session — the agent count is an order of magnitude higher.

Anthropic's recommended cost discipline:

  • Try on a small slice first: a single directory rather than the whole repo, a narrow question rather than a broad one
  • Watch /workflows for per-agent token usage; x to stop without losing completed work
  • Agent caps (16 concurrent / 1,000 per run) bound the worst case
  • Model selection: every agent uses your session's model unless the script routes a stage elsewhere
  • Run /model before a large run if you usually switch to a smaller model for routine work

Counts toward your plan's usage and rate limits like any other session.

Disabling

HowEffect
Toggle Dynamic workflows off in /configPersists across sessions
"disableWorkflows": true in ~/.claude/settings.jsonPersists across sessions
CLAUDE_CODE_DISABLE_WORKFLOWS=1Read at startup
Organization: "disableWorkflows": true in managed settingsOrg-wide policy

When disabled, bundled workflow commands are unavailable, the ultracode keyword no longer triggers a run, and ultracode is removed from the /effort menu.

FAQ

Q. Is ultracode the same as xhigh reasoning?

A. No. xhigh is a reasoning effort level. ultracode is a Claude Code-specific setting that combines xhigh + automatic workflow orchestration. ultracode only appears in the /effort menu on models that support xhigh.

Q. Do I need to write workflow scripts?

A. No. Claude generates the script dynamically based on your prompt. The script lands as a file under ~/.claude/projects/ for that session, so you can read, edit, and relaunch from it. If you like a run, press s in /workflows to save it to .claude/workflows/ or ~/.claude/workflows/ and invoke it later as /<name>.

Q. Is it on every plan?

A. Available on all paid plans, but defaults differ. Max / Team / API: ON by default. Pro: turn on in /config. Enterprise: OFF by default, admin enables.

Q. Should I replace /security-review or spec-implement with this?

A. Not necessarily. Dynamic workflows are tuned for 10s to 100s of agents in parallel, with corresponding token cost. Workflows that fit cleanly into a role-based pipeline like spec-implement may still be more traceable when kept there. Knowing both lets you pick the right level per task.

Q. What if I interrupt a workflow mid-run?

A. You can resume within the same session — completed agents return cached results and the rest run live. Select the run in /workflows and press p, or ask Claude to relaunch the same script. Exiting Claude Code restarts the workflow from scratch on the next session.

Q. Can it affect a PR or production unexpectedly?

A. No. The launch prompt asks for confirmation (except in Auto, bypass permissions, or claude -p). The first launch shows the planned phases and lets you choose Yes / No / View raw script. Spawned subagents run in acceptEdits but inherit your existing tool allowlist.

Summary

ultracode and dynamic workflows move Claude Code's parallelism from "Claude planning turn by turn" to "a script the runtime executes." Subagents, skills, and agent teams all parallelize inside Claude's context; workflows scale to hundreds of agents outside that context through a runtime.

The Bun Zig→Rust port — 11 days, ~750k lines, 99.8% test pass — is a serious data point for AI-driven large-scale migrations. The token cost is real, though, and not every task is a workflow task. At ZenChAIne we run agent-skills' spec-implement for role-based orchestration and reach for ultracode when scale demands it — a layered approach rather than a replacement.

No plugin install needed. On Claude Code v2.1.154+ with a supported plan, /effort ultracode or /deep-research is enough to try it today.

References