Claude Code recently switched its default effort from high to medium, and added the “ultrathink” keyword to bump it back up per-turn.
The old default — high effort on every single turn — was just wasteful. Renaming a variable? High effort. Fixing a typo? High effort. Burning tokens on thinking that didn’t need thinking.
Now medium handles the routine stuff fast, and when I actually need deep reasoning — architecture decisions, tricky bugs, multi-file refactors — I just add “ultrathink” to that prompt. One turn of high effort, then back to medium.
Honestly, this is how it should’ve been from the start. Most interactions don’t need the model to think hard. The few that do, you know when you’re asking them.
medium + ultrathink when needed. That’s it.