Pair programming with a human has a rhythm. You talk through problems, one person drives while the other thinks, you switch roles. It keeps you in flow.
AI pair programming has different rhythms — and some patterns that kill flow instead of supporting it.
What breaks flow with AI
Confirmation-heavy interactions. If the model asks for permission before every action, you're in a constant start-stop loop. Turn this off for routine work.
Long waits for big outputs. If you ask Claude to write a complete 300-line module, you wait for it, then review 300 lines. This breaks your working session. Better: ask for the function signature and types first, confirm them, then ask for the implementation.
Unexpected scope changes. Claude edits a file you weren't thinking about. You stop to figure out why. Explicit scope constraints prevent this and keep you in the task you were in.
The interaction patterns that support flow
Short loops. Ask for one thing, review it, move on. Don't batch ten requests into one prompt and wait for a bulk response.
Think out loud. Before asking Claude to implement, spend a minute explaining the approach to it. "I'm thinking we should handle this by..." — this often clarifies your own thinking and produces better output because the model has context, not just a request.
Keep the decision-making yours. Use Claude for "write this function" not "decide what function to write." Architecture decisions that belong to you stay with you. You stay in the driver's seat.
The handoff pattern for focus blocks
When you want to work without back-and-forth:
- Write a clear spec (10-15 minutes)
- Hand it to Claude: "Implement this. Commit after each logical step. Report when done."
- Do something else — review another PR, write documentation, take a break
- Come back and review the commits
This is not pair programming — it's delegation. Know which mode you're in and choose intentionally.
Flow state and review
Reviewing AI-generated code is a different cognitive mode than writing code. After a delegation block, shift gears deliberately. Read the diff carefully. Check scope, check correctness, check that nothing unexpected changed.
Don't try to immediately write the next feature right after reviewing. The mental modes conflict.
The right question to ask yourself
Before each AI interaction: "Am I asking this to stay in flow, or am I using it to avoid thinking about something hard?"
AI assistance is genuinely useful for keeping momentum on mechanical work. It's a distraction when used to avoid making a decision you should make yourself.
The answer to "how do I architect this?" is not a Claude prompt. Work that out first, then ask for implementation help.
More on productive Claude Code workflows: builtbyzac.com/power-moves.html.
Top comments (0)