iiRecord
Agentic AI Atlas · TaskCompleted (Claude Code)
hook-surface:claude.task-completeda5c.ai
II.
HookSurface JSON

hook-surface:claude.task-completed

Structured · live

TaskCompleted (Claude Code) json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · channels-hooks/hook-surfaces/native/claude-code-extended-hooks.yamlCluster · channels-hooks
Record JSON
{
  "id": "hook-surface:claude.task-completed",
  "_kind": "HookSurface",
  "_file": "channels-hooks/hook-surfaces/native/claude-code-extended-hooks.yaml",
  "_cluster": "channels-hooks",
  "attributes": {
    "eventName": "TaskCompleted (Claude Code)",
    "displayName": "TaskCompleted (Claude Code)",
    "kind": "native",
    "originVendor": "Anthropic",
    "direction": "pre",
    "blocking": true,
    "family": "in-process",
    "payloadSchema": {
      "type": "object",
      "required": [
        "hook_event_name",
        "task_description"
      ],
      "properties": {
        "hook_event_name": {
          "type": "string",
          "const": "TaskCompleted"
        },
        "task_description": {
          "type": "string"
        }
      }
    },
    "description": "Fires when a task is being marked completed. Exit 2 or decision:\n\"block\" prevents the completion. Used to enforce task-acceptance gates\n(e.g. require tests pass, require evidence link).\n"
  },
  "outgoingEdges": [],
  "incomingEdges": [
    {
      "from": "agent-runtime-impl:claude-code.runtime@1.x",
      "to": "hook-surface:claude.task-completed",
      "kind": "exposes",
      "attributes": {}
    },
    {
      "from": "hook-mapping:claude-task-completed",
      "to": "hook-surface:claude.task-completed",
      "kind": "maps_hook",
      "attributes": {}
    }
  ]
}