Skip to content

feat(app-server): turn/steer API#10821

Merged
owenlin0 merged 2 commits intomainfrom
owen/turn_steer_api
Feb 6, 2026
Merged

feat(app-server): turn/steer API#10821
owenlin0 merged 2 commits intomainfrom
owen/turn_steer_api

Conversation

@owenlin0
Copy link
Collaborator

@owenlin0 owenlin0 commented Feb 5, 2026

This PR adds a dedicated turn/steer API for appending user input to an in-flight turn.

Motivation

Currently, steering in the app is implemented by just calling turn/start while a turn is running. This has some really weird quirks:

  • Client gets back a new turn.id, even though streamed events/approvals remained tied to the original active turn ID.
  • All the various turn-level override params on turn/start do not apply to the "steer", and would only apply to the next real turn.
  • There can also be a race condition where the client thinks the turn is active but the server has already completed it, so there might be bugs if the client has baked in some client-specific behavior thinking it's a steer when in fact the server kicked off a new turn. This is particularly possible when running a client against a remote app-server.

Having a dedicated turn/steer API eliminates all those quirks.

turn/steer behavior:

  • Requires an active turn on threadId. Returns a JSON-RPC error if there is no active turn.
  • If expectedTurnId is provided, it must match the active turn (more useful when connecting to a remote app-server).
  • Does not emit turn/started.
  • Does not accept turn overrides (cwd, model, sandbox, etc.) or outputSchema to accurately reflect that these are not applied when steering.

@owenlin0 owenlin0 force-pushed the owen/turn_steer_api branch from d0ef4d9 to d34c9d0 Compare February 5, 2026 23:08
@owenlin0 owenlin0 marked this pull request as ready for review February 5, 2026 23:16
@owenlin0 owenlin0 enabled auto-merge (squash) February 6, 2026 00:29
@owenlin0 owenlin0 merged commit 0d8b2b7 into main Feb 6, 2026
60 of 65 checks passed
@owenlin0 owenlin0 deleted the owen/turn_steer_api branch February 6, 2026 00:35
@github-actions github-actions bot locked and limited conversation to collaborators Feb 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments