II.
HookSurface JSON
Structured · livehook-surface:user-prompt-submit
UserPromptSubmit (canonical) json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "hook-surface:user-prompt-submit",
"_kind": "HookSurface",
"_file": "channels-hooks/hook-surfaces/canonical/lifecycle-and-native-stubs.yaml",
"_cluster": "channels-hooks",
"attributes": {
"eventName": "UserPromptSubmit (canonical)",
"displayName": "UserPromptSubmit (canonical)",
"kind": "canonical",
"direction": "pre",
"blocking": true,
"family": "in-process",
"payloadSchema": {
"type": "object",
"required": [
"session_id",
"transcript_path",
"prompt"
],
"properties": {
"session_id": {
"type": "string"
},
"transcript_path": {
"type": "string"
},
"cwd": {
"type": "string"
},
"prompt": {
"type": "string",
"description": "The user's submitted prompt text. Handlers may rewrite or block."
}
}
},
"description": "Fires when a user submits a prompt; can rewrite or block."
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "agent-core-impl:claude-agent-sdk.core@current",
"to": "hook-surface:user-prompt-submit",
"kind": "fires_hook",
"attributes": {}
},
{
"from": "agent-core-impl:claude-code.core@1.x",
"to": "hook-surface:user-prompt-submit",
"kind": "fires_hook",
"attributes": {}
},
{
"from": "agent-runtime-impl:claude-code.runtime@1.x",
"to": "hook-surface:user-prompt-submit",
"kind": "exposes",
"attributes": {}
},
{
"from": "hook-mapping:user-prompt-submit-codex",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:user-prompt-submit-github-copilot",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:user-prompt-submit-pi",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:user-prompt-submit-oh-my-pi",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:user-prompt-submit-claude-code",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:user-prompt-submit-cursor",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:user-prompt-submit-gemini",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:prompt-oh-my-pi",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:plugin-prompt-submitted-openclaw",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:gateway-request-routed-openclaw",
"to": "hook-surface:user-prompt-submit",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-surface:claude.user-prompt-expansion",
"to": "hook-surface:user-prompt-submit",
"kind": "canonicalized_to",
"attributes": {}
},
{
"from": "hook-surface:claude.user-prompt-submit",
"to": "hook-surface:user-prompt-submit",
"kind": "canonicalized_to",
"attributes": {}
}
]
}