Control Reasoning Depth with the --effort Flag
Not every task needs Claude's deepest thinking. A quick file rename doesn't need the same reasoning power as a complex architectural refactor. The --effort flag lets you dial reasoning up or down per session.
claude --effort low "Rename all .txt files in this directory to .md"
There are four levels: low, medium, high, and max (Opus 4.6 only). Lower effort means faster, cheaper responses. Higher effort means Claude takes more time to reason through problems carefully.
# Quick formatting task
claude --effort low -p "Add semicolons to all lines in index.js"
# Normal development work (default)
claude --effort medium
# Complex refactoring or debugging
claude --effort high "Refactor the auth module to use the strategy pattern"
# Maximum reasoning for Opus (Opus 4.6 only)
claude --effort max "Design a migration plan for our database schema"
The flag is session-scoped, so it won't persist to your settings. Each new session starts with the default unless you specify otherwise. This makes it safe to crank effort up for one tricky task without affecting your day-to-day workflow.
If you're already using the "ultrathink" prompt technique, think of --effort as the CLI-native way to achieve similar control without modifying your prompts.
Match the reasoning depth to the task, not the other way around.
Log in to leave a comment.
A PreToolUse hook can intercept test runner commands and filter output to show only failures, cutting thousands of tokens from Claude's context.
CLAUDE.md loads into every message. Move workflow-specific instructions into skills that load on demand to reduce token costs across your session.
Every event emitted while processing a single prompt shares a prompt.id UUID, letting you trace the complete chain of API calls and tool executions.