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

UserPromptSubmit

hook never mined documented JSON

A Claude Code hook event, read out of the shipped bundle. No mined inventory carries it: everything below comes from what this site has written about it.

When a prompt is submitted, before Claude processes it. Also fires on turns Claude Code starts on its own

Anthropic's own wording. Read off Hooks reference, captured 2026-10-22.

First seen — never in a mined build
Last seen — never in a mined build
Builds0 / 149on this box, as of v2.1.308
Written about v2.1.101 first named in a changelog, 10 Apr 2026

In the changelogs

23

Releases whose published page names UserPromptSubmit.

  1. v2.1.300
    Blocked slash command prompts are echoed back less often

    When a hook blocks a slash command run in a fork, Claude Code shows the original prompt in fewer cases

    found in this entry's text, named in this entry

  2. v2.1.300
    Fewer mods count as prompt hooks when Claude Code checks for them

    The check for mods that hook prompt submission now applies an extra test, so some mods that counted before no longer do

    found in this entry's text, named in this entry

  3. v2.1.299
    SDK messages can say why a prompt hook stopped a prompt

    SDK system messages gain a prompt_submit_outcome field saying how a prompt submit hook ended a prompt

    found in this entry's text, named in this entry

  4. v2.1.299
    Prompts stopped by hooks now come with a reason

    When a UserPromptSubmit hook or prompt.submit handler stops a prompt, Claude Code now records which kind of stop it was

    found in this entry's text, named in this entry

  5. v2.1.299
    UserPromptSubmit hooks get more detail about the prompt

    Information prepared for UserPromptSubmit hooks now includes the command and whether the prompt is an internal one

    found in this entry's text, named in this entry

  6. v2.1.299
    Prompts rewritten by a hook can now be refused with a "no place to put the change" message

    Prompt hooks now see slash command names and arguments, and some rewrites stop the prompt with a "Prompt not sent" message

    found in this entry's text, named in this entry

  7. v2.1.296
    Interrupting during prompt-submit hooks keeps what you typed

    If you interrupt while UserPromptSubmit hooks are running, the turn is now marked as interrupted and earlier messages are kept

    found in this entry's text

  8. v2.1.296
    Prompt-submit hooks that block after an interrupt now end as an interruption

    If a prompt-submit hook blocks your prompt after the session was interrupted, Claude Code now treats it as an interruption instead of a normal block

    found in this entry's text

  9. v2.1.296
    Handling for turns interrupted while prompt hooks are running

    Claude Code can now handle a turn that is interrupted while prompt-submit hooks are still checking your prompt

    found in this entry's text

  10. v2.1.296
    Interrupting a UserPromptSubmit hook now counts as cancelling it

    Interrupting Claude Code while a UserPromptSubmit hook runs now cancels the hook cleanly, and the debug log says which kind of cancel it was

    found in this entry's text

  11. v2.1.295
    A new setting limits what your own skills, agents and hooks can do

    Setting CLAUDE_CODE_RESTRICT_PERSONAL_CONFIG stops your own skills, agents and hooks from widening permissions, and makes key hooks required

    found in this entry's text

  12. v2.1.295
    New option to block a session when your personal settings file is broken

    With CLAUDE_CODE_RESTRICT_PERSONAL_CONFIG set, errors in your user settings file block every prompt and tool call until they are fixed

    found in this entry's text

  13. v2.1.284
    Headless runs now also wait for MCP servers named in allow rules and hooks

    Before a -p run's first turn, Claude Code now also counts MCP servers named in allow rules and mcp_tool hooks as ones to wait for

    found in this entry's text

  14. v2.1.281
    IDE selection is captured with prompts queued mid-turn and handed back if a hook drops the prompt

    A prompt queued mid-turn now keeps the IDE selection made when it was queued, and gets it back if a hook drops the prompt

    found in this entry's text

  15. v2.1.277
    Local/prompt slash-command dispatch: cosmetic-only rename, no behavior change found

    Slash-command dispatch code was renamed internally with no behavior change found

    found in this entry's text

  16. v2.1.248
    Hook schema failures now print the exact field, a template, and which tool failed

    A bad hook response now shows the exact failing field, the output and a template.

    found in this entry's text

  17. v2.1.248
    New hook events and compiled-in plugin admission defaults

    Three new hook event names appear, and unverified plugins are still allowed to load.

    found in this entry's text

  18. v2.1.247
    UserPromptSubmit hooks now run over the prompt text that actually wins

    Prompt-submit hooks now run over the final prompt text, and cancellations report as cancelled not failed.

    named in this entry, found in this entry's text

  19. v2.1.239
    Two SDK fields drop their internal-only caveats

    Two SDK fields dropped their internal-only caveats and now describe normal behaviour.

    found in this entry's text

  20. v2.1.236
    Some hook events take a separate dispatch path

    Six hook events now wait on a readiness step before running; the rest are unchanged.

    found in this entry's text

  21. v2.1.163
    SubagentStop Hook Event

    found in this entry's text

  22. v2.1.116
    UserPromptExpansion Hook Event

    found in this entry's text

  23. v2.1.101
    Hook Event Validation

    found in this entry's text

First cited

3

The earliest release whose published evidence quoted UserPromptSubmit was v2.1.247, 26 Aug 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.

ReleaseDateThe span that was quoted
v2.1.24726 Aug 2026Prompt blocked: the UserPromptSubmit hooks did not run over the submitted text.
v2.1.2969 Oct 2026UserPromptSubmit hooks cancelled (interrupted while a hook ran)
v2.1.30014 Oct 2026e.hooks("prompt.submit") || e.hooks("classic.UserPromptSubmit")

Presence across releases

0

The miner has never read a build containing this name. It is here because a changelog entry of ours names it, which is evidence that it existed and not evidence of which releases carried it. The inventory starts at v2.1.138 and everything older than that was never mined.

Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the hook event does. All hook events.

Feedback