{"version":"2.1.287","anchor":"control-request-get-task-output-and-prepare-turn-validation","canonical_anchor":"control-request-get-task-output-and-prepare-turn-validation","heading":"New get_task_output and prepare_turn control requests","tier":"use","area":"SDK","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287\/e\/control-request-get-task-output-and-prepare-turn-validation","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287","markdown":"### New get_task_output and prepare_turn control requests\n\nPrograms driving Claude Code can now read a background shell or Monitor task's output with get_task_output, and send prepare_turn\n\n**Unclear.** It is not clear which connection types refuse `get_task_output`.\n\n**What**\n\nPrograms built on the SDK (the kit that lets other software drive Claude Code) send Claude Code control requests, which are short instructions sent while it runs. Two new ones were added, and the existing `send_task_message` handler was replaced.\n\n- `get_task_output` reads the output of a shell task or Monitor task, meaning a command or watcher running in the background of the session. If there is no matching task it replies \"get_task_output: no shell or Monitor task with that task_id in this session\". It is refused on a persisted-lane connection.\n\n- `prepare_turn` checks that its `issued_at` value is a number.\n\nBefore this release, the list held only `send_task_message` and `prefetch_attachments`.\n\n**Why**\n\nA program controlling Claude Code can now fetch what a background task has printed, not only send it messages or stop it.\n\n- Area: SDK\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 3\/5"}