Skip to main content
MindStudio
Pricing
Blog About
My Workspace

Claude Code Effort Levels Explained: Low, Medium, High, Max, and Ultra Code

Claude Code's /effort command controls how hard the model reasons before acting. Learn when to use each level and what Ultra Code dynamic workflows actually do.

MindStudio Team RSS
Claude Code Effort Levels Explained: Low, Medium, High, Max, and Ultra Code

What the /effort Command Actually Does in Claude Code

If you’ve been using Claude Code without touching the /effort command, you’ve been leaving performance on the table — or spending more tokens than necessary on tasks that don’t need it.

Claude Code’s /effort setting controls how deeply the model reasons before it acts. Specifically, it manages the thinking token budget: the internal scratchpad Claude uses to plan, evaluate, and self-correct before writing a single line of code. The higher the effort level, the more thinking tokens the model allocates, and the more deliberate its output tends to be.

This matters because not every coding task deserves maximum reasoning. Writing a one-line utility function doesn’t need the same cognitive overhead as refactoring a 3,000-line service class. Matching effort to task complexity keeps your workflow fast where speed matters and thorough where correctness matters.

This guide covers all five effort levels — Low, Medium, High, Max, and Ultra Code — explains what’s actually happening under the hood, and walks through when to reach for each one.


How Claude Code’s Thinking Budget Works

Before getting into the individual levels, it helps to understand what a “thinking budget” means in practice.

Claude’s extended thinking feature lets the model reason through a problem privately before producing a response. This reasoning isn’t visible in the final output — it’s more like scratch work. The model uses it to consider edge cases, check its assumptions, and plan an approach before committing.

Learn Hermes. Free. 1 hour.
The free Hermes Agent crash courseReserve your spot

The /effort command controls how many tokens that scratch work can consume. A low budget means Claude reasons briefly and moves fast. A high budget means Claude takes its time — exploring more possibilities, catching more errors, producing more deliberate output.

The tradeoff is straightforward: more thinking tokens = higher quality on complex tasks, but slower responses and higher API costs.

You set effort level at the start of a session (or mid-session if your needs change) by typing /effort [level] in the Claude Code interface. The setting persists for that session unless you change it.


The Five Effort Levels, Explained

Low Effort

Low effort is Claude Code operating with a minimal thinking budget. The model responds quickly, makes fast decisions, and doesn’t spend time second-guessing itself.

What it’s actually doing: A small number of thinking tokens — roughly in the range of 1,000 or fewer — are allocated before Claude acts. It’s enough to understand the immediate request but not enough to reason through complex dependencies or catch subtle bugs.

When to use it:

  • Writing boilerplate code you’ll review anyway
  • Generating quick scaffolding or starter files
  • Asking simple factual questions about a codebase
  • Rapid prototyping where iteration speed matters more than precision

When to avoid it:

  • Anything involving business logic, security-sensitive code, or multi-file refactors
  • Tasks where a subtle bug would be expensive to find later

Low effort is best thought of as a first-pass tool. You get output fast, review it yourself, and iterate.


Medium Effort

Medium effort is the default for most users and most tasks. It represents a balanced thinking budget — enough reasoning capacity to handle moderately complex problems without the cost or latency of higher levels.

What it’s actually doing: Claude allocates a moderate thinking budget, roughly in the range of 4,000–6,000 tokens. It can reason through basic logic, consider a handful of edge cases, and produce code that’s more self-consistent than low-effort output.

When to use it:

  • Writing functions with non-trivial logic
  • Explaining how an existing piece of code works
  • Generating unit tests for straightforward components
  • Code review on moderately complex files
  • General-purpose coding assistance during a normal session

For most day-to-day development work, medium effort hits the right balance. You get quality output without paying the latency penalty of high or max.


High Effort

High effort is where Claude Code starts functioning more like a careful engineer than a fast typist. The thinking budget expands substantially, and Claude uses that space to reason more thoroughly before acting.

What it’s actually doing: The thinking token budget scales up to roughly 10,000 tokens or more. Claude has enough headroom to reason through multi-step logic, consider competing implementation approaches, and self-check its reasoning before producing output.

When to use it:

  • Refactoring complex functions or modules
  • Debugging non-obvious issues (especially cross-file problems)
  • Writing code that will be difficult to change later
  • Implementing algorithms with correctness requirements
  • Generating code in unfamiliar languages or frameworks where errors are less obvious

High effort noticeably increases response time. For a complex task, expect to wait longer — but the output tends to require less correction.


Max Effort

Max effort gives Claude Code the largest available thinking budget. The model reasons as thoroughly as the system allows before producing any output.

Catch up on Hermes — free 60-minute live workshop
The free Hermes Agent crash courseReserve your spot

What it’s actually doing: Claude uses the maximum thinking token allocation, which can run into the tens of thousands of tokens depending on context. It’s using that budget to explore the problem space deeply — considering multiple approaches, checking for inconsistencies, reasoning about failure modes.

When to use it:

  • Architecting a new system or making high-stakes design decisions
  • Debugging the hardest class of bugs: race conditions, heisenbugs, subtle type errors
  • Producing security-critical code that needs to be correct the first time
  • Long-horizon planning tasks: “What changes do I need to make across this repo to support feature X?”
  • Code that integrates multiple systems and has complex failure modes

Max effort is expensive in both time and tokens. Use it when the cost of a mistake is high and the value of getting it right the first time justifies the overhead.


Ultra Code

Ultra Code is a different kind of setting than the others. Where Low through Max control a static thinking budget, Ultra Code refers to a dynamic workflow mode — one where Claude autonomously adjusts how much reasoning it applies depending on what it encounters during a task.

What it’s actually doing: Instead of a fixed thinking budget, Ultra Code lets Claude escalate its reasoning mid-task when it detects complexity or uncertainty. For straightforward steps, it reasons efficiently. When it hits a genuinely difficult problem — an unexpected dependency, an ambiguous requirement, a tricky edge case — it pulls in more thinking capacity automatically.

This makes Ultra Code particularly valuable for long-running agentic sessions where the complexity isn’t uniform. A task might start simple and get complicated. With a fixed effort level, you’d either overspend on the easy parts or undershoot on the hard ones. Ultra Code adapts.

When to use it:

  • Multi-step agentic tasks that span many files or systems
  • Autonomous coding sessions where you want Claude to handle complexity without manual intervention
  • Projects where you can’t predict upfront which parts will be hard
  • Long sessions where you want to set effort once and trust the model to manage it

The key difference: With Max, you’re telling Claude “reason hard on everything.” With Ultra Code, you’re telling Claude “reason as hard as you need to, wherever you need to.”


Choosing the Right Effort Level: A Practical Guide

The right level depends on three variables: task complexity, tolerance for errors, and how much latency you can accept.

Task TypeRecommended Level
Quick syntax questionsLow
Generating boilerplateLow–Medium
Writing business logicMedium–High
Unit tests for complex codeMedium–High
Cross-file refactoringHigh
Debugging subtle bugsHigh–Max
Security-critical codeMax
Architecting new systemsMax
Long agentic multi-step sessionsUltra Code
Complex projects with variable difficultyUltra Code

A few rules of thumb:

  • If you’ll review and edit the output anyway, lower effort is fine. You’re the safety net.
  • If the code will ship with minimal review, higher effort is worth the cost.
  • If you’re running Claude autonomously, Ultra Code handles variable complexity better than any fixed level.

How MindStudio Fits Into Claude Code Workflows

Other agents ship a demo. Remy ships an app.

UI
React + Tailwind ✓ LIVE
API
REST · typed contracts ✓ LIVE
DATABASE
real SQL, not mocked ✓ LIVE
AUTH
roles · sessions · tokens ✓ LIVE
DEPLOY
git-backed, live URL ✓ LIVE

Real backend. Real database. Real auth. Real plumbing. Remy has it all.

Claude Code’s /effort levels are most powerful when Claude is acting as an autonomous agent — not just answering questions, but actually executing multi-step tasks. That’s where the scope of what Claude can do starts to matter as much as how hard it reasons.

By default, Claude Code’s reach is limited to your local codebase. It can read files, write code, and run commands in your terminal. But many real-world tasks require more: sending a notification, searching the web, triggering a pipeline, generating an image, calling an external API.

The MindStudio Agent Skills Plugin bridges that gap. It’s an npm SDK (@mindstudio-ai/agent) that gives any AI agent — including Claude Code — access to 120+ typed capabilities as simple method calls. Instead of writing integration code for every external service, you call methods like:

agent.sendEmail({ to: "team@example.com", subject: "Deploy complete" })
agent.searchGoogle({ query: "latest React 19 breaking changes" })
agent.runWorkflow({ workflowId: "notify-slack-on-failure" })

The plugin handles auth, rate limiting, retries, and error handling — the infrastructure layer that usually consumes developer time. Claude Code focuses on reasoning and logic; MindStudio handles execution against external systems.

This pairs especially well with Ultra Code sessions. When Claude is dynamically managing its own reasoning effort across a long autonomous task, it benefits from having reliable, low-friction tools to act with. The Agent Skills Plugin gives Claude Code that expanded capability surface without adding implementation complexity.

You can start using MindStudio free at mindstudio.ai.


Common Mistakes When Using Effort Levels

Using Max for everything

Max effort is genuinely better for hard problems. But it adds latency and token cost on every interaction — including the simple ones. If you’re working interactively, running on Max for quick questions means waiting longer and spending more for no real benefit.

Forgetting to adjust mid-session

If a task shifts from simple to complex, your effort level should too. You can change it at any point with /effort [level]. Don’t let inertia keep you on Low effort when the problem has gotten complicated.

Treating effort level as a quality guarantee

Higher effort makes Claude reason more carefully. It doesn’t make Claude correct. On highly complex tasks, even Max effort can produce code that needs review. Effort levels shift the probability of getting it right — they’re not a substitute for understanding the output.

Ignoring Ultra Code for agentic sessions

If you’re running Claude autonomously on tasks you don’t know the full shape of, Ultra Code is almost always the right choice over a fixed level. Fixed levels force a binary choice — too conservative or too expensive. Dynamic adjustment handles real-world complexity better.


Frequently Asked Questions

What is the /effort command in Claude Code?

The /effort command sets the thinking token budget Claude uses before producing output. A higher budget means Claude reasons more thoroughly — considering more edge cases, checking its logic, evaluating alternatives — before writing code. A lower budget means faster, lighter responses. You type /effort low, /effort medium, /effort high, /effort max, or /effort ultra (for Ultra Code mode) to change the setting.

How does effort level affect token usage and cost?

Other agents start typing. Remy starts asking.

YOU SAID "Build me a sales CRM."
01 DESIGN Should it feel like Linear, or Salesforce?
02 UX How do reps move deals — drag, or dropdown?
03 ARCH Single team, or multi-org with permissions?

Scoping, trade-offs, edge cases — the real work. Before a line of code.

Higher effort levels consume more thinking tokens per interaction, which increases API cost. The relationship isn’t linear — going from Low to Medium is a moderate jump, while going from High to Max is a larger one. For high-volume or interactive use, keeping effort at Medium for routine tasks and escalating selectively is a practical cost management strategy.

When should I use Max effort vs. Ultra Code?

Use Max when you have a specific complex task and want Claude to reason as hard as possible throughout. Use Ultra Code when you’re running a long autonomous session with variable complexity — tasks where some parts are simple and some are hard, and you want Claude to allocate reasoning effort intelligently rather than applying maximum effort uniformly. Ultra Code is the better fit for agentic workflows; Max is better for targeted high-stakes single tasks.

Does effort level affect creativity or output style?

Primarily, effort level affects reasoning depth and correctness. At higher levels, Claude is more likely to catch its own errors, consider edge cases, and produce well-structured output. The stylistic qualities of the output don’t change dramatically — what changes is how thoroughly Claude thinks through the problem before committing to an approach.

Can I change the effort level during a session?

Yes. You can change it at any point by typing /effort [level]. The change takes effect immediately for subsequent messages. This means you can work at Medium for general tasks and switch to Max when you hit a problem that needs more care, then switch back.

Is Ultra Code available in all versions of Claude Code?

Ultra Code’s availability depends on the version of Claude Code you’re running and the model context you’re using. Dynamic effort adjustment typically requires model versions that support extended thinking with variable budgets. Check the Anthropic documentation for the current state of extended thinking support in Claude Code.


Key Takeaways

  • Low effort is fast and cheap — right for simple tasks you’ll review yourself.
  • Medium effort is the default and covers most day-to-day coding work well.
  • High effort is worth the cost for complex logic, debugging, and code that’s hard to change later.
  • Max effort is reserved for the hardest problems: architecture decisions, security-critical code, and subtle multi-file bugs.
  • Ultra Code is different from the others — it dynamically adjusts reasoning depth based on task complexity, making it the best choice for long autonomous sessions.
  • Matching effort to task type is a skill. Overusing Max wastes money and time; underusing it on hard problems produces errors that cost more to fix later.

If you’re running Claude Code as part of a larger agentic workflow — especially one that reaches outside your local codebase — pairing it with a tool like the MindStudio Agent Skills Plugin gives it the broader execution capabilities that make high-effort autonomous sessions actually useful. Try it free at mindstudio.ai.

Related Articles

How to Run Claude Code on a VPS with Mobile Access: T-Max and Telegram Setup

Claude Code sessions die when you disconnect. Run it on a $15/month VPS with T-Max to keep sessions alive and dispatch tasks from your phone via Telegram.

Claude Automation Workflows

How to Use the /goal and /loop Commands in Claude Code for Autonomous Long-Running Tasks

Combine /goal and /loop in Claude Code to create tasks that run on a schedule and won't stop until your end condition is met. Here's how to set it up.

Claude Automation Workflows

How to Run Claude Code on a VPS with Mobile Access via Telegram

Run Claude Code on a VPS with Tmux for always-on sessions and control it from your phone via Telegram. Here's the full setup guide for 24/7 AI workflows.

Claude Automation Workflows

How to Build an AI Operating System Using the Four C's Framework

The Four C's—Context, Connections, Capabilities, and Cadence—are the building blocks of a personal AI OS. Learn how to implement each layer with Claude Code.

Claude Workflows Automation

What Is Claude Code Git Worktree Support? How to Run Parallel Feature Branches

Claude Code now has native git worktree support, letting you work on multiple feature branches simultaneously without conflicts. Here's how to use it.

Claude Workflows Productivity

A Google Principal Engineer Said Claude Code Beat a Year of Her Team's Work in 1 Hour — Here's How to Use That to Get Approved

Janna Dogen's 9M-view post is your best argument for getting Claude approved over Copilot. Here's how to frame it for your manager.

Claude Enterprise AI Productivity

Presented by MindStudio

No spam. Unsubscribe anytime.