Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.269 ·

prompt.submit hook pipeline reworked with rewriting, an 'enter' phase, and better diagnostics

The prompt.submit hook pipeline was rebuilt to let hooks rewrite prompts, add an enter phase, and report drops and queued prompts more clearly

Group of 7 You'll notice Improvements
JSON All of v2.1.269
You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
Plugin HooksArea: what it touches
ImprovementsKind: in v2.1.269,
What probably matters to youSection of the release

What

  • Hooks that run on prompt.submit can now rewrite the text of the prompt before it is committed; this is logged as "prompt.submit: text rewritten by a hook".
  • The pipeline gained a new enter stage/callback. When it fires, Claude Code now records telemetry event prompt_queued and the prompt is queued rather than run immediately.
  • When a hook drops a prompt, Claude Code now logs a reason ("prompt.submit: dropped") and can show a distinct "Prompt not submitted" message alongside the existing "Prompt dropped by a hook" message.
  • If a plugin's prompt.submit hook attaches extra context to its result after it has already called next(), that is now detected and a warning is logged that the entries were dropped, instead of the entries being silently lost.
  • Internally, both the interactive and SDK/headless prompt-processing paths now open a disposable tracker before processing input and mark it "handed off" once the new messages are pushed into the conversation; if the tracker is disposed before hand-off, any waiter is rejected instead of hanging.
  • The SDK's error message for $.prompt.submit (thrown when text starts with /) now tells the caller to use $.command.run instead.

Why These changes make the prompt-submission path more capable (hooks can now edit prompts, not just allow or block them) and easier to debug, since drops, rewrites, and queued prompts are now logged and reported distinctly instead of failing silently or hanging.

Read from
Names in the bundleprompt.submit
Since it was published

The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.

Added since A small documentation edit on Mods reference touched a line naming prompt.submit after this was published. When another mod's hook calls a method on a namespace you added in `engine.create`, your method's `$` calls run in that hook's context until every hook on that event returns. For example, a relative path resolves against that hook's workin… plugins/mods/reference see the edit
Confirmed since Anthropic's documentation has since written up prompt.submit, on Test a mod. * **`$`**: the test's own `$`, which acts as Claude Code. It isn't the [mods API](/docs/en/plugins/mods/reference#mods-api-methods) that a hook receives. Each of its methods fires the event of the same name, sends it through your mod's hoo… plugins/mods/test see the edit
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up prompt.submit, on Test a mod.

See this entry in the whole of v2.1.269 →

Feedback