What
When a UserPromptSubmit hook or a prompt.submit handler stops your prompt, Claude Code now tags why, where before the block message was the only sign. The reasons are:
blocked_by_hookno_verdictstopped_by_hookdropped_by_hooknot_passed_onrewrite_unplaceable
The last one means a hook rewrote the prompt but the rewrite could not be put in place. In that case the prompt now ends there.
Why
Tools built on the SDK (the kit for building on Claude Code) and usage reports can now tell why a prompt was stopped.
Names in the bundleUserPromptSubmitprompt.submit
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.
Confirmed since
Anthropic's documentation has since written up prompt.submit, on Use the mods API.
Apart from `$.prompt.submit` and `$.command.run`, this handling of calls and background work after an interruption requires Claude Code v2.1.304 or later.plugins/mods/api see the edit
Confirmed since
Anthropic's documentation has since written up UserPromptSubmit, on Intercept and control agent behavior with hooks.
* `UserPromptSubmit` and [`UserPromptExpansion`](/docs/en/hooks#userpromptexpansion): Claude Code blocks the prompt with a message naming the hook and the timeout, and the session continues. Before v2.1.208, Claude Code ended the query wit…agent-sdk/hooks see the edit
Two sources agreeTwo things we can check say the same as this entry.
Anthropic's documentation agrees
Anthropic's documentation has since written up UserPromptSubmit, on Intercept and control agent behavior with hooks.
Anthropic's release notes agree
Added $.prompt.media so a prompt.submit hook of a mod installed by managed settings can read the bytes of an image or document attached to…