II.
HookSurface overview
Reference · livehook-surface:after-agent
AfterAgent (canonical) overview
Fires when a subagent invocation completes. Distinct from SubagentStop (which fires when the subagent process is terminating but before result aggregation). AfterAgent is non-blocking; observers receive the final result envelope for telemetry / logging / accounting.
Attributes
eventName
AfterAgent (canonical)
displayName
AfterAgent (canonical)
kind
canonical
direction
post
blocking
false
family
in-process
payloadSchema
type
object
required
- agent_name
- agent_input
- agent_result
- session_id
- transcript_path
properties
agent_name
type
string
description
Name of the subagent that just ran.
agent_input
type
object
description
Input the subagent was launched with.
agent_result
type
object
description
Subagent's terminal output / structured result.
session_id
type
string
transcript_path
type
string
description
Fires when a subagent invocation completes. Distinct from SubagentStop
(which fires when the subagent process is terminating but before
result aggregation). AfterAgent is non-blocking; observers receive the
final result envelope for telemetry / logging / accounting.
Outgoing edges
None.
Incoming edges
exposes1
- agent-runtime-impl:claude-code.runtime@1.x·AgentRuntimeImplClaude Code Runtime (1.x)
maps_hook2
- hook-mapping:after-agent-antigravity·HookMapping
- hook-mapping:after-agent-gemini·HookMapping