Effort Routing — Field Guide

How to get maximum quality at minimum cost from Claude Code, every session.

The Four Effort Levels

Low
Lookups & mechanical edits
  • Pure questions
  • File lookups
  • Typos / renames
  • Add/remove imports
Keywords: "where is", "what is", "which file", "show me", "list", "find", "rename", "typo"
Medium
Standard work — the default
  • New features
  • Bug fixes
  • Refactors
  • Multi-file edits
Keywords: "implement", "add", "fix", "refactor", "update", "create"
High
Deep reasoning required
  • Subtle bugs
  • Data-flow traces
  • Architecture design
  • PR / security review
Keywords: "why is", "debug", "trace", "investigate", "design the", "architect", "audit"
Max
Full-depth, costly — use sparingly
  • Full codebase audits
  • Worst-case analysis
  • /code-review ultra
  • Dynamic workflows
Keywords: "ultra", "all files", "comprehensive audit", "worst case", "full codebase"

Decision Tree — 3 Questions

1. What type of task is this? Use the keyword table in section 1. If no strong signal → default to Medium.
Start here
2. How many files does this touch? 1 file → Low/Medium is fine. 2–5 files with cross-file logic → Medium minimum. 5+ files or architectural scope → High or Max.
Scale up
3. What's the cost of being wrong? Dev/test/throwaway → cheaper is fine. Production-facing → go higher. Security, auth, payments → High minimum, always.
Stakes

Fast Mode — /fast

Use /fast when

  • The task is purely mechanical
  • Boilerplate, formatting, rename
  • Speed matters more than depth
  • You'd also use Low effort

Skip /fast when

  • Subtle bugs or edge cases
  • Cross-file logic
  • Correctness matters
  • You'd use Medium or above

Quick-Fire Examples

Prompt Choice Why
"Where is the auth middleware?" Low /fast Pure lookup, single answer
"Fix this typo in the README" Low /fast 1 line, zero risk
"Add a loading spinner to the dashboard" Medium Standard feature, 2–3 files
"Refactor the user profile component" Medium Multi-file but no deep reasoning
"Why is the JWT expiry check silently failing?" High Deep data-flow trace, subtle bug
"Review this PR before merge" High Correctness + security at stake
"Design the multi-tenant data model" Max Architecture, long-term consequences
"Comprehensive audit of all files" Max Full codebase — expect real cost

Sub-Agent Model Routing

Haiku 4.5
Cheapest — fastest
  • File search & grep
  • Symbol lookup
  • Explore agents (always)
  • Boilerplate edits
  • Quality checks on small diffs
Sonnet 4.6
Default — balanced
  • Feature planning
  • Multi-file edits
  • Bug tracing
  • Data-flow debugging
  • Orchestration tasks
Opus 4.8
Premium — ~5× Sonnet cost
  • Security reviews
  • PR reviews
  • Architecture decisions
  • Significant trade-off analysis
  • Explore agents → always Haiku. They only search; no reasoning needed.
  • >2 files with cross-file logic → Sonnet minimum. Don't cheap out here.
  • Opus only when explicitly needed. It's not 5× better, it's 5× more expensive for nuanced cases.

How the Auto-Routing Hook Works

The hook fires on every prompt before Claude generates a response. You don't need to think about this — it's automatic. But knowing how it works helps you tune it.

You type a prompt
→
effort-router.js runs
→
Matches keywords in effort-rules.json
→
Logs decision to effort-log.jsonl
→
Prints [effort-router] → high in terminal
→
Claude generates at that effort level

At session end, session-start.js scans the log for miscalibrations and appends suggestions to your .sessions/ summary. Review them, then manually edit effort-rules.json if you agree.

# To tune the rules yourself:
~/.claude/hooks/effort-rules.json

# To see what the hook decided on past prompts:
~/.claude/effort-log.jsonl

# To manually override for one session:
/effort low    (or medium / high / max)
/fast          (toggle fast mode)
    

The One Rule That Cuts Cost in Half

Before every prompt, ask: "Does this need deep reasoning — or just execution?"

Execution → Low /fast    Reasoning → Medium or higher

Most prompts are execution. Most developers default everything to High.
The gap between those two behaviours is where the cost savings live.