Skip to content

refactor(claude-tty): drop the steer fallback now that Paseo 0.12 replaces the turn itself - #161

Merged
sleeyax merged 1 commit into
mainfrom
refactor/claude-tty-drop-steer-fallback
Oct 22, 2026
Merged

sleeyax merged 1 commit into
mainfrom
refactor/claude-tty-drop-steer-fallback

Conversation

@sleeyax

@sleeyax sleeyax commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

Part 2 of #155.
Builds on #160, which made the Paseo 0.12.0 bump.

 withSubagentSessions(
   withPermissionCards(
-    details.wrap(notices.wrap(withSteerFallback(connection, capabilities)))))
+    details.wrap(notices.wrap(connection))))

On 0.11, a mid-turn message to a session without prompt.steer threw and was lost, so the wrapper offered the capability and declined every steer.
Since 0.12.0, PluginAgentSession.steerActiveTurn returns unavailable when prompt.steer was never negotiated (getpaseo/paseo#7270).
The daemon then interrupts the turn and sends the message as the next one, which is what the wrapper faked.

The steering.test.ts canary, "the bridge on its own refuses a steer", would have stayed green, since the fix is in the daemon and not the bridge.

Evidence

  • Before: withSteerFallback offered prompt.steer and declined every steer.
    After: live, on a claude-tty-dev copy on a 0.12.0 daemon with the wrapper gone:
    • paseo send --behavior steer during a running shell call cancelled the call. The message ran as the next turn and was answered, with no "does not support prompt.steer" error.
    • The same during a turn held for a background subagent was answered, and the subsession stayed open until the subagent reported.
  • claude-tty passes 118 tests with 3 skipped; typecheck is clean.

Merge Danger

Door: two-way

Blast Radius: claude-tty mid-turn messages

The plugin already requires 0.12.0 from #160, so no daemon that would lose the message can load it.
Steering into the running turn instead of replacing it stays out of scope (#36, #111).

@sleeyax
sleeyax force-pushed the refactor/claude-tty-drop-steer-fallback branch from a5be96a to aec3497 Compare October 22, 2026 22:33
@sleeyax
sleeyax changed the base branch from refactor/claude-tty-drop-cancelled-tool-call-repair to main October 22, 2026 22:33
…laces the turn itself

Without `prompt.steer`, a 0.11 daemon threw on a message sent mid-turn and lost it, so `withSteerFallback` offered the capability and declined every steer to make the daemon replace the turn.
Since Paseo 0.12.0, `PluginAgentSession.steerActiveTurn` returns `unavailable` when the connection never negotiated `prompt.steer`, and the daemon interrupts the turn and sends the message as the next one (getpaseo/paseo#7270).
That is the behaviour the wrapper faked, so it goes, along with its `CLAUDE.md` trap.

Refs #155

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@sleeyax
sleeyax force-pushed the refactor/claude-tty-drop-steer-fallback branch from aec3497 to 4f8359f Compare October 22, 2026 22:34
@sleeyax
sleeyax merged commit d1a6567 into main Oct 22, 2026
1 check passed
@sleeyax
sleeyax deleted the refactor/claude-tty-drop-steer-fallback branch October 22, 2026 22:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant