Conversation Registers for AI Coding Sessions¶
Conversation registers are four interaction modes — exploring, brainstorming, deciding, implementing — and switching register signals it is time to start a fresh context.
A conversation register is the intent behind how you talk to an LLM, not the topic you talk about. Chelsea Troy's DDD Europe 2026 talk on keeping the context window healthy names four registers, relayed by Martin Fowler as the idea he "hadn't thought about" (Fowler, 2026). Two disciplines follow: name the register you are in, and when it changes, start a new conversation with fresh context (Fowler, 2026).
The four registers¶
Each register is a distinct request, quoted from Troy via Fowler (Fowler, 2026):
| Register | What you are asking for |
|---|---|
| Exploring | "I want to understand before touching anything" |
| Brainstorming | "Generate options, I'll evaluate them separately" |
| Deciding | "I need a recommendation with a rationale, not a list" |
| Implementing | "The decision is made, help me build it" |
The registers run in a rough order on one task: you explore a problem, brainstorm approaches, decide on one, then build it. The value is in naming which one you are in, because each wants a different response. Ask an Exploring question in the Implementing register and you get code when you wanted a map.
Register drift as a reset signal¶
Register drift is a reset trigger separate from topic drift. You can stay on the same task and still switch register — from understanding a bug to building its fix. Troy's rule is that the switch itself warrants a fresh context, not just a new task (Fowler, 2026).
This adds a human-facing axis to the turn-level context decisions framework, where /clear handles switching to an unrelated task. It is also distinct from phase-specific context assembly, which tailors the context bundle per agent role. Registers are about the intent you name for yourself before you prompt.
Why it works¶
Each register leaves residue that is noise for the next one. Brainstorming fills the window with options you rejected; Exploring fills it with wide reads you no longer need. Once you move to Deciding or Implementing, that material is irrelevant context, and irrelevant context measurably degrades reasoning. A controlled benchmark finds LLMs are "significantly sensitive to [irrelevant context], affecting both reasoning path selection and arithmetic accuracy" (Bhattacharya et al., 2025). Anthropic describes the same effect as a steady performance gradient as the window fills. Starting fresh on a register switch drops the stale residue before it can distract — which is why register drift, not just topic drift, is a legitimate reset signal.
When this backfires¶
A fresh context per register is not always worth its cost:
- Short sessions under a few thousand tokens: the residue is negligible, so resetting just forces re-priming and breaks momentum. Claude Code best practices warn against clearing too early for the same reason.
- Tightly coupled explore-to-implement work: the exploration findings are often the exact context the build step needs. A hard reset strands that state unless you deliberately carry a summary across.
- One-shot prompts and quick edits: naming a register and opening a new conversation is ceremony that outweighs the benefit. The discipline targets longer, multi-mode sessions.
Example¶
You are debugging a failing payment webhook. You open in the Exploring register: "walk me through how retries are handled here, do not change anything." The model reads five files and explains the flow. You now know the fix, so you switch to Implementing.
Rather than continue the thread, you start a fresh conversation and prompt: "In webhooks/payment.py, the retry handler double-charges on a 500 — add idempotency keyed on the event ID." The new context carries only the decision and the target file, not the five-file exploration transcript that would otherwise compete for the model's attention.
Key Takeaways¶
- A register is your interaction intent, not your topic: exploring, brainstorming, deciding, or implementing.
- Name the register before you prompt so you ask for the right kind of response.
- Switching register on the same task is a reset signal — start a fresh context, because register drift matters as much as topic drift.
- The mechanism is context hygiene: prior-register residue is irrelevant context that degrades reasoning.
- Skip the reset for short, tightly coupled, or one-shot work, where re-priming costs more than the stale residue.
Related¶
- Turn-Level Context Decisions — the five-move menu where
/clearhandles switching to an unrelated task - Phase-Specific Context Assembly — tailoring the context bundle per agent role, the machine-facing counterpart
- Context Window Dumb Zone — how reasoning degrades as the window fills
- Goal Recitation — keeping intent in the attention window within a session
- The Kitchen Sink Session — the anti-pattern that clearing between contexts addresses