One of the things that bothers me about agentic coding is the “Just press enter and watch it work” loop. Sometimes, yes, I just want to vibe-out a quick spike and Get It Done™. But most of the time, I want to actually learn something so I’m not just a token-jockey!
I found out recently that Claude Code has a lesser-known feature that helps with this: Output Styles. They swap out bits of the system prompt so the agent behaves more like a tutor than just doing the work for you.
Two of the built-in ones are worth knowing about if you’re trying to learn while Claude is racking up the tokens.
Explanatory
Still completes the task, but throws in some “Insights” that explain implementation choices, codebase patterns, and why it went with this approach over another.
For me, this is more for a mid-point, where it’s a language/tool/framework where I’m fairly up to speed but always want to know more.
Learning
This is the one that properly surprised me!
Instead of writing all the code itself, Claude Code drops TODO(human) markers in the spots where it wants you to fill in the logic. You write the tricky bits, it handles the scaffolding, and it still chimes in with “Insights” while you work.
Essentially, it turns the session into a mini pair-programming exercise where you’re the junior and the agent is the patient sensei who refuses to just do it for you.
Turning Them On
Run /config, pick one from the Output style menu. Or set it directly in .claude/settings.local.json:
{
"outputStyle": "Learning"
}
I’ve found setting it locally works better for me than globally: it’s probably overkill for most of what I already work on comfortably.
Why I Like Them
A lot of my “GenAI is eating my brain” anxiety comes from watching the agent solve something and realising I learnt nothing from it. Learning mode flips that around. Sure, progress is going to be slower, but it’s my progress.
You can also write custom output styles if you want a tweaked variant, but honestly I’ve not dug into that as much.