{"version":"2.1.285","anchor":"ui-control-subtypes-accepted-by-the-sdk-host","canonical_anchor":"ui-control-subtypes-accepted-by-the-sdk-host","heading":"SDK sessions accept requests to drive the terminal interface","tier":"use","area":"SDK","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.285\/e\/ui-control-subtypes-accepted-by-the-sdk-host","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.285","markdown":"### SDK sessions accept requests to drive the terminal interface\n\nPrograms driving Claude Code can now send requests to press, type, select, scroll and show or close panes in its interface\n\n**Unclear.** It is not clear what sends these requests or whether anything gates them.\n\n**What**\n\nThe SDK lets another program drive Claude Code by sending it control requests. The kinds of control request it accepts, which already covered things like interrupting and stopping a task, now also include:\n\n- `ui_press` and `ui_client_press`\n\n- `ui_input`\n\n- `ui_select`\n\n- `ui_pane_show` and `ui_close`\n\n- `ui_scroll`\n\n- `ui_prompt_edit`\n\nThese interface requests are accepted only when the request's `by` value is not \"app\". A session also gains a field for the program hosting its interface, and sessions gain a `session.append` message.\n\n**Why**\n\nThis looks like groundwork for letting an app control Claude Code's terminal interface remotely.\n\n- Area: SDK\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 3\/5"}