Skip to main content

· 8 min read

What Is /btw?

A broken hint appeared in Claude Code sessions 80 days before the feature shipped, and the gap between them documents something about how Anthropic is redesigning the cost of asking questions during active work.

newsletter · ai · claude-code · developer-tools · btw-command

Split-panel scene: the mascot deep in an active coding session on the left, while a small translucent side-channel bubble fades into the dark on the right — already answered, already gone.

In December 2025, a hint appeared in Claude Code sessions: "Start with 'btw' to ask a quick side question without interrupting Claude's current work." Developers saw it, tried it, and typed "btw" at the beginning of a message. The message entered the main conversation like every other turn. The task they were running did not pause. It also did not split. The question landed in the main context and waited for the current task to finish before getting a response.

The hint was advertising a feature that did not exist. For 80 days, "what is /btw?" had no useful answer.

On March 10, 2026, it got one.

The feature, as it finally shipped, works like this: type /btw as a command or start a message with the word, and Claude Code opens a side channel. The exchange is read-only, meaning Claude calls no tools. It is ephemeral, meaning the exchange does not persist in the main conversation history. The running task continues. When the question is answered, the side channel closes. The session it opened next to does not know it happened.

The practical case is obvious once you have spent enough time working with turn-based AI tools. You are three minutes into a refactor. You have a question about a pattern in a separate module. Previously your options were to interrupt and lose the thread, or wait and lose the thought. /btw is a third option that costs neither.

But the 80-day gap between the hint and the working feature tells a story that the launch announcement does not.

The Hint That Did Nothing

A massive glowing billboard promises a feature while the mascot stands tiny below it, blue and puzzled, in front of a construction barrier blocking an empty void where the feature was supposed to be.

GitHub Issue #14804 was filed on December 20, 2025. The report was simple: messages starting with "btw" behaved identically to any other message. No side channel opened. The main task's context absorbed the query like a standard turn. The hint was not describing something hidden or deliberately disabled. It was describing something that had not been built yet.

This is a specific failure mode. Not vaporware, which is a product that does not exist. Not a dark launch, which is a feature that exists and is deliberately hidden. The hint string and the feature flag live in separate systems. One ships when someone writes it. The other ships when someone builds it. In this case, the string shipped first.

Claude Code has three documented instances of this pattern. Issue #12396, filed November 2025, found /extra-usage surfacing before the command did anything useful. Issue #3315, filed July 2025, found MCP roots appearing in the interface before the implementation behind them was ready. Anthropic's triage bot recognized all three as structural duplicates when routing the /btw report. The pattern repeats because the architecture that produces it has not changed: tip strings are maintained separately from feature readiness.

On January 6, 2026, Boris Cherny, who leads Claude Code at Anthropic, responded to Issue #14804. The substantive part of his reply was six words and a comma: "A thing that we're experimenting with, more to come." He added that he would remove the hint from the tips rotation to stop generating noise.

The hint was not removed. It kept appearing in sessions for the next two months. Developers who saw it tried it and filed reports. Most moved on, noting the promise without expecting a timeline.

The 80-day gap is not a criticism of the pace. It is a data point about what the inside of a moving project looks like when the task queue runs ahead of the cleanup list. The feature caught up to the hint rather than the other way around.

What Read-Only and Ephemeral Actually Mean

The architectural detail that matters most came from @oikon48, a Japanese developer who analyzed the behavior on March 11, the day after launch. The finding: read-only (tools not used), doesn't remain in conversation history.

These are not temporary limitations. They are the design, and the reasoning is direct.

If /btw called tools, a question about a function in a different file could modify that file. The running task's context would shift underneath it. Conflicts become possible between the side channel's writes and the primary thread's assumptions. The guarantee that the running task continues unaffected requires that the side channel cannot write.

If the exchange persisted in conversation history, every side question would add tokens to the context window of the main task. Long sessions would degrade faster. The noise floor of the primary thread would rise with each query. Ephemerality keeps the channel from taxing what it was designed to avoid disturbing.

The competitive picture shows what makes this distinctive:

ToolMid-task queryEphemeral and read-only
Claude Code /btwYesYes
CursorYes (queue or interrupt)No; joins main context
WindsurfYes (queue)No; joins main context
GitHub CopilotNo (async PR model)N/A

Cursor has the most mature mid-task system among the alternatives. Option+Enter queues a message; Command+Enter interrupts. Either way, the message enters the main conversation and modifies the thread it routes into. Windsurf supports message queuing but no parallel channel. Every tool in the comparison treats a mid-task query as an addition to the primary conversation. Only /btw opens a separate channel and discards it when the question is answered.

That column is the architectural claim. The Claude Code team built a feature that treats the main task's state as inviolable. The side channel exists, gets used, and disappears.

What Turn-Based Costs

A long queue of glowing question-bubbles fades progressively from bright yellow at the front to ash fragments at the back, while the mascot holds a nearly extinguished ember at the end of the line, waiting for a massive mechanical turnstile gate that only allows one question through at a time.

AI coding assistants inherited their interaction model from chat interfaces, which inherited it from help desk systems. You send a message. The model processes it. You wait. You respond. The turn-based structure made sense when inference was slow and the bottleneck was the model. Inference got faster. The paradigm did not.

Turn-based interaction with an AI during active coding has a cost that does not appear in benchmarks: developers learn to batch their questions. If asking something means stopping the work, you defer. You hold the question until the task completes and you can start a new turn. Some questions survive long enough to be asked. Many do not.

The ones that do not survive are often worth asking: the mid-task sanity check, the "is this the right pattern for this case," the quick verification about a function in a different part of the codebase. These get filtered out by the cost of asking them. Not because the developer decided they were unimportant. Because the tool structure made asking expensive and deferral looked cheaper.

Over enough sessions, developers working with turn-based tools adapt their thinking to match the tool's constraints. Questions become larger and more pre-planned. Exploration shrinks. The spontaneous check gets replaced by longer upfront planning about what to ask before the task begins. That adaptation is invisible until something changes the cost structure.

/btw changes the cost structure for one specific class of question: the question you already suspect the answer to and want to verify without derailing what the AI is doing for you. That class is common enough that Boris Cherny's team spent 80 days building the feature after the hint for it leaked into the tips rotation.

Eight Days in March

/btw did not ship in isolation. On March 3, Anthropic launched voice interaction for Claude Code, letting developers talk to the model while a task runs. On March 4, Boris Cherny gave The Pragmatic Engineer an interview explicitly framing "parallel agents" as the intentional direction for Claude Code. On March 10, the same day /btw launched, Anthropic shipped parallel PR code review: "Code Review for Claude Code checks pull requests for errors in parallel as a team of AI agents."

Four features in eight days, all built on the same assumption: developers are working on something and want to interact with Claude while the work continues. Not in sequence. Not in turns. Concurrently.

Voice Mode makes the side channel conversational. Parallel code review makes it systemic. /btw makes it cheap enough to use without thinking about it. The Pragmatic Engineer interview names the direction out loud.

Within 48 hours of /btw shipping, five bug reports appeared documenting the same problem: in some configurations, the command still queues rather than opening a true parallel channel. Issues #33404, #33432, #33129, and #33433 describe the same behavior. Shipped does not always mean working. The pattern from December recurred in March: the description of the thing arrived before the thing was fully operational.

The question "what is /btw?" now has a working answer most of the time. Whether it holds under all the conditions developers are testing is, as of March 13, still open.

Enjoyed this essay?

Subscribe to get weekly commentary on AI, engineering, and the industry delivered to your inbox.