Data Model - Entire

HookInput

Passed via stdin to get-session-id and read-session.

{
  "hook_type": "stop",
  "session_id": "abc123",
  "session_ref": "/path/to/transcript.jsonl",
  "timestamp": "2026-01-13T12:00:00Z",
  "user_prompt": "Fix the login bug",
  "tool_name": "Write",
  "tool_use_id": "toolu_abc123",
  "tool_input": {"path": "/src/main.go"},
  "raw_data": {}
}
Field Type Required Description
hook_type string Yes session_start, session_end, user_prompt_submit, stop, pre_tool_use, post_tool_use
session_id string Yes Agent session identifier
session_ref string Yes Agent-specific session reference (typically a file path)
timestamp string Yes RFC 3339 timestamp
user_prompt string No User’s prompt text
tool_name string No Tool name (from tool use hooks)
tool_use_id string No Tool invocation ID
tool_input object No Raw tool input JSON
raw_data object No Agent-specific extension data

AgentSession

Used as input to write-session and output from read-session.

{
  "session_id": "abc123",
  "agent_name": "myagent",
  "repo_path": "/path/to/repo",
  "session_ref": "/path/to/transcript.jsonl",
  "start_time": "2026-01-13T12:00:00Z",
  "native_data": null,
  "modified_files": ["src/main.go"],
  "new_files": [],
  "deleted_files": []
}
Field Type Description
session_id string Agent session identifier
agent_name string Agent registry name
repo_path string Absolute path to the repository
session_ref string Path to session in agent’s storage
start_time string RFC 3339 timestamp
native_data bytes/null Opaque session content in agent’s native format
modified_files string[] Files modified during the session
new_files string[] Files created during the session
deleted_files string[] Files deleted during the session

Event

Returned by parse-hook. Represents a normalized lifecycle event.

{
  "type": 3,
  "session_id": "abc123",
  "session_ref": "/path/to/transcript.jsonl",
  "prompt": "Fix the login bug",
  "model": "claude-sonnet-4-20250514",
  "timestamp": "2026-01-13T12:00:00Z"
}

Event types:

Value Name Description
1 SessionStart Agent session has begun
2 TurnStart User submitted a prompt
3 TurnEnd Agent finished responding
4 Compaction Context window compression (triggers save + offset reset)
5 SessionEnd Session terminated
6 SubagentStart A subagent was spawned
7 SubagentEnd A subagent completed

Optional event fields: previous_session_id, session_ref, prompt, model, timestamp, tool_use_id, subagent_id, tool_input, subagent_type, task_description, response_message, metadata. Only type and session_id are required.