Skip to content

Steering should support a host-owned idle fallback #440

Description

@fontanierh

Problem

_session/steering returns startedNewTurn when the active turn wins the idle race. That turn runs after the steering request completes, so the host never owns its terminal session/prompt response.

steer while busy -> injected -> original prompt owns completion
steer after race -> startedNewTurn -> no host-owned completion

Proposed compatible behavior

Honor the opt-in used by claude-agent-acp in #919:

{"_meta":{"steering":{"idleBehavior":"promptRequired"}}}

On the idle path, consume nothing and return:

{"outcome":"promptRequired","reason":"noRunningTurn"}

The host can then submit the unchanged input through normal session/prompt. Keep startedNewTurn as the default for compatibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions