{"version":"2.1.292","anchor":"task-events-carry-run-id-and-parent-task-id","canonical_anchor":"task-events-carry-run-id-and-parent-task-id","heading":"Task events now say which run they belong to and their parent task","tier":"notice","area":"SDK","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292\/e\/task-events-carry-run-id-and-parent-task-id","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292","markdown":"### Task events now say which run they belong to and their parent task\n\nTask start, update and background-task list events now carry a run ID and a parent task ID\n\n**What**\n\nWhen Claude Code runs inside another program through the SDK (the kit developers use to build on Claude Code), it sends events about tasks such as subagents, background shells and monitors. These events now include two extra fields:\n\n- `run_id`, an ID for one particular run of a task, made from the time and some random characters\n\n- `parent_task_id`, the task that this task belongs under\n\nThe fields appear on task-started, task-updated and background-task list events. Task progress messages also carry a `run_id`. Task-updated events now also pass along a handback and a `handback_report` when a task hands its result back.\n\n**Why**\n\nPrograms built on Claude Code can now tell separate runs of a task apart and show background shells and monitors nested under the agent that started them.\n\n- Area: SDK\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}