Guide on when and how to use Claude Code's thinking modes and effort levels. Use when tackling complex problems that need deep reasoning.
Control how hard Claude thinks with /effort or the CLAUDE_CODE_EFFORT_LEVEL env var:
| Level | When to use | Token cost |
|---|---|---|
| low | Simple lookups, quick questions, high-volume tasks | Minimal |
| medium | Standard development, balanced speed/quality | Moderate |
| high | Complex reasoning, nuanced analysis, difficult bugs (DEFAULT) | Higher |
| max | Absolute hardest problems, multi-step deduction | Highest |
Include "ultrathink" anywhere in your prompt for a one-off max-effort response. No need to change global settings.
Example: "ultrathink: design the auth system for this app considering OAuth, JWT, and session-based approaches"
Claude dynamically decides how much to think based on query complexity. Higher effort + harder query = more thinking. Easy queries get direct responses even at high effort — no token waste.
Use the Monitor tool to stream events from background scripts in real time. Useful for watching long-running subagent output without polling.
/effort to change level