What actually changes
The model still reasons through the same steps internally β you can see it in the thinking traces if you enable verbose logging β but the final output sent back to you is compressed. Function signatures without docstring repetition. Diff hunks without the surrounding "I'm now editing X file" commentary. Error explanations cut to the actionable fix.
I'll update the authentication middleware to handle the new token format.
Let me first examine the current implementation...
Updated auth middleware for new token format. Changed `validate_token()`
signature in `middleware/auth.py:42` to accept `token_version` param.
Token savings add up fast. A typical 5-file refactor that used to burn 8-12k output tokens now lands around 4-6k. Over a full day of coding that's real money on the API bill.
Where it falls short
Two scenarios where I flip back to standard:
-
Debugging unfamiliar codebases β when I'm dropping into a repo I've never seen, the extra context in standard mode helps me understand why the model made certain choices. Concise assumes I already know the architecture.
-
Complex multi-step planning β if I ask "plan the migration from REST to GraphQL across these 12 services," I want the full reasoning trail. Concise gives me the task list but not the tradeoff analysis.
Config toggle
{
"outputStyle": "concise",
"verboseLogging": false
}
Or per-session with /style concise
in the CLI. I keep a shell alias cccon
that launches with concise mode + my preferred model (sonnet-4) + the project context file preloaded.
One gotcha
The concise mode sometimes drops file paths in multi-file edits if the change is trivial (single-line fixes). Learned this when reviewing a PR β the model had updated three config files but only showed the diff for one. Now I run /diff
after any batch edit to verify coverage.
Worth enabling if you're comfortable reading diffs and don't need hand-holding. Cuts noise without losing signal.
Next Built an MVP in 3 days with Claude Code β here's the stack β