II.
HookSurface JSON
Structured · livehook-surface:claude.user-prompt-submit
UserPromptSubmit (Claude) json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "hook-surface:claude.user-prompt-submit",
"_kind": "HookSurface",
"_file": "channels-hooks/hook-surfaces/native/hook-surfaces-claude-code.yaml",
"_cluster": "channels-hooks",
"attributes": {
"eventName": "UserPromptSubmit (Claude)",
"displayName": "UserPromptSubmit (Claude)",
"kind": "native",
"originVendor": "Anthropic",
"direction": "pre",
"blocking": true,
"family": "shell-hook",
"description": "Claude Code's UserPromptSubmit hook. Fires when the user submits\na prompt; can rewrite or block the prompt.\n"
},
"outgoingEdges": [
{
"from": "hook-surface:claude.user-prompt-submit",
"to": "hook-surface:user-prompt-submit",
"kind": "canonicalized_to",
"attributes": {}
},
{
"from": "hook-surface:claude.user-prompt-submit",
"to": "agentVersion:claude:ge-0-0-0",
"kind": "emits_hook",
"attributes": {
"attrs": {
"since": "1.0.0"
}
}
}
],
"incomingEdges": [
{
"from": "agent-runtime-impl:claude-code.runtime@1.x",
"to": "hook-surface:claude.user-prompt-submit",
"kind": "exposes",
"attributes": {}
},
{
"from": "hook-mapping:claude-user-prompt-submit-native",
"to": "hook-surface:claude.user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
}
]
}