Learn Claude Code: Autonomous Workflows Ultracode and Effort Levels

Ultracode and Effort Levels

Intermediate 🕐 11 min Lesson 11 of 13
What you'll learn
  • Set effort levels using /effort and explain what each level changes about Claude's reasoning and workflow behavior
  • Enable ultracode for automatic workflow orchestration and dismiss it per-prompt without changing the session level
  • Configure the Dynamic workflow size guideline and interpret the Large workflow warning to manage cost on big runs

The /effort Menu

Claude Code's default effort level is optimized for the average task. But not all tasks are average. A quick explanation of what a function does needs minimal reasoning effort. A 500-file migration audit needs maximum reasoning effort and probably a Dynamic Workflow with dozens of agents. The /effort command lets you tune where in that range Claude operates.

The effort levels from lowest to highest are: low, medium, high, xhigh, and ultracode. Each level increases the reasoning effort Claude applies per turn — more thinking tokens, deeper analysis, longer deliberation before acting. Higher effort costs more per turn but produces better results on complex tasks that benefit from deeper analysis.

ultracode is the top level. It does two things simultaneously: sets effort to xhigh, and enables automatic workflow orchestration for every substantive task in the session. With ultracode on, Claude doesn't wait for you to say "use a workflow" — it decides on its own when a task warrants one and writes the script automatically.

What Ultracode Actually Does

With ultracode on, a single request can turn into several workflows in sequence. A code refactoring request might produce: one workflow to understand the existing code, one to make the changes, and one to verify the result. Each workflow runs its own set of agents, and each agent runs at xhigh reasoning effort. The token cost compounds.

This is the right trade-off for complex, high-stakes tasks where you need the best possible result and have the subscription budget to support it. For routine work — writing a test, explaining a function, fixing a small bug — ultracode is overkill that burns tokens on overhead you don't need.

Ultracode lasts for the current session and resets when you start a new one. Drop back with /effort high when you return to routine work. You don't need to restart the session — the change takes effect on the next prompt.

Enabling Ultracode

Three ways to activate ultracode:

For the current session:

/effort ultracode

At session startup:

claude --effort ultracode

Starting with --effort ultracode requires Claude Code v2.1.203 or later.

For a single prompt without changing the session level: Include the word ultracode as a keyword in any prompt. Claude Code highlights it and treats the prompt as a one-off workflow request. The session's effort level stays unchanged.

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

If you typed it by accident, press Option+W (macOS) or Alt+W (Windows/Linux) to dismiss the highlight for that prompt. To turn off the keyword trigger entirely, disable "Ultracode keyword trigger" in /config.

Ultracode is only available on models that support xhigh effort. On other models, the /effort menu doesn't offer it.

Controlling Workflow Size

When Claude writes a workflow script, it makes choices about how many agents to use. By default, it uses however many makes sense for the task — which for a large codebase audit might be hundreds. The Dynamic workflow size setting in /config sends a guideline to Claude about the scale it should aim for:

Setting
Guidance sent to Claude
unrestricted
No guideline (default)
small
Aim for fewer than 5 agents
medium
Aim for fewer than 15 agents
large
Aim for fewer than 50 agents

This setting is advisory, not a hard cap. A prompt that explicitly calls for more agents — "audit all 300 files individually" — overrides the guideline. The runtime's hard caps (16 concurrent, 1,000 total per run) always apply regardless of the setting. Changes take effect on the next prompt.

The Large Workflow Warning

When a workflow schedules more than 25 agents, or its projected token total exceeds 1.5 million, the progress line in the task panel shows a Large workflow warning. The warning points you to /workflows where you can inspect and stop the run if needed.

The warning is informational — it doesn't pause or limit the run. Two situations change when you'll see it: if you've set a size guideline, the guideline's agent count replaces the 25-agent threshold. If ultracode is on, the warning doesn't appear at all, because enabling ultracode is already an explicit opt-in to large runs.

Before committing to a large task, run the workflow on a small slice first — one directory instead of the whole repo, one question instead of a broad survey. The /workflows view shows per-agent token usage as the run progresses, and you can stop any time without losing completed work.

When to Drop Back

Ultracode and high effort levels are session settings, not permanent state. The right workflow is to start a task at the effort level it deserves, not at the highest level possible. A good rule of thumb:

  • Use high (default or slightly above) for most day-to-day work
  • Use xhigh for complex architectural decisions, multi-file refactors, and tasks where getting it wrong is expensive
  • Use ultracode for large-scale tasks that need workflow orchestration, or for important deliverables where you want the strongest possible analysis

Drop back with /effort high when the task shifts back to routine work. The session stays open — you don't need to restart.

Key takeaways
  • /effort sets two things independently — reasoning depth (thinking tokens per turn) and workflow auto-spawning; ultracode is the only level that enables both simultaneously
  • Ultracode is session-scoped — it resets when you start a new session, so each session explicitly opts in to the higher cost and token spend
  • The ultracode keyword triggers a one-off workflow without changing the session level — useful when you want workflow orchestration for a single complex task while keeping the rest of the session at normal effort
  • Dynamic workflow size is advisory — Claude Code sends it as a guideline to the model writing the script, but explicit prompts that call for more agents still override it
  • The Large workflow warning at 25 agents or 1.5M tokens is informational — sessions with ultracode on skip the warning since enabling ultracode is already an opt-in to large runs