II.
HookSurface JSON
Structured · livehook-surface:session-start
SessionStart (canonical) json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "hook-surface:session-start",
"_kind": "HookSurface",
"_file": "channels-hooks/hook-surfaces/canonical/session-start.yaml",
"_cluster": "channels-hooks",
"attributes": {
"eventName": "SessionStart (canonical)",
"displayName": "SessionStart (canonical)",
"kind": "canonical",
"direction": "event",
"blocking": false,
"family": "in-process",
"payloadSchema": {
"type": "object",
"required": [
"session_id",
"transcript_path",
"source"
],
"properties": {
"session_id": {
"type": "string"
},
"transcript_path": {
"type": "string"
},
"cwd": {
"type": "string"
},
"model": {
"type": "string",
"description": "Model id at session start (e.g. claude-sonnet-4-5)."
},
"source": {
"type": "string",
"enum": [
"startup",
"resume",
"clear"
],
"description": "How the session was initiated."
},
"startedAt": {
"type": "string",
"format": "date-time"
},
"bare_run_id": {
"type": "string",
"description": "When the session-start hook detects or creates a bare run, this field carries the run ID so downstream hooks and the babysit-skill can bind to it."
}
}
},
"description": "Fires when a new session is created. The session-start hook may\nwrite a bare run ID into session state when bridging is active,\nenabling the orchestrating skill to discover and assign a process\nto the run.\n"
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "agent-core-impl:a5c.core@current",
"to": "hook-surface:session-start",
"kind": "fires_hook",
"attributes": {}
},
{
"from": "agent-runtime-impl:claude-code.runtime@1.x",
"to": "hook-surface:session-start",
"kind": "exposes",
"attributes": {}
},
{
"from": "hook-mapping:session-start-claude-code",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-start-codex",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-start-cursor",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-start-github-copilot",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-start-opencode",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-start-pi",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-start-oh-my-pi",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:plugin-session-start-openclaw",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:gateway-request-received-openclaw",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-start-gemini",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
},
{
"from": "hook-mapping:session-start-pi",
"to": "hook-surface:session-start",
"kind": "maps_hook",
"attributes": {}
}
]
}