Group of 7 Nothing to try yet Notable
The prompt.submit hook pipeline was rebuilt to let hooks rewrite prompts, add an enter phase, and report drops and queued prompts more clearly
What
- Hooks that run on
prompt.submitcan 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
enterstage/callback. When it fires, Claude Code now records telemetry eventprompt_queuedand 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.submithook attaches extra context to its result after it has already callednext(), 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.runinstead.
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.