Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.246 Home All releases olderv2.1.245 v2.1.247newer
Claude Code v2.1.246

Prompt input state moved behind one shared draft object

Under the hood
Useful1 Signal1
Prompt Input

Prompt text, cursor and paste state now live in one shared object; nothing changes for you.

What

The prompt text, cursor position, mode and pasted content are no longer passed around as eight separate values and setters. The REPL, autocomplete, voice input, the cloud-session reply box and the submit handler now share one draft handle that owns them. Nothing changes for you: restoring a stashed draft still reports Draft restored.

Details
  • The handle exposes replaceValue, setValue, setValueWithCursor, setCursorOffset, setMode, setPastedContents, value, cursorOffset and shellCompletionAbort.
  • Stashing and unstashing the prompt and inserting text are now the draft's own operations rather than the component's, and submits are subscribed to via onSubmitRequest rather than the submit handler adjusting text, cursor and pasted content itself.
  • Autocomplete suggestions moved out of component state into a store read on demand.
  • Both the main prompt and the cloud-session reply box now hand the voice keybinding handler a single composer instead of a bag of refs.
  • The state machine for pressing left arrow to open agents or background the current turn moved out of the input component; the remaining hook still reads the leftArrowOpensAgents setting and treats any value other than false as on.
Evidence

setValueWithCursor, shellCompletionAbort, onSubmitRequest, leftArrowOpensAgents

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.246 →