test / unit + widget + golden + a11y (push) Failing after 28s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
test / dart doc (lib API) (push) Failing after 30s
The composer sent input with pane.write, which writes to the PTY of the tmux client the app spawned. That client detaches (we no longer render or drain its PTY since T-137), leaving the session alive on the server with no client — so keystrokes written to the dead PTY vanished and Claude never saw the message. Submit now goes through the tmux server: load the text into a named paste buffer, paste it bracketed (multi-line and special chars arrive as one block, not a stream of submits), then send Enter. Verified against a live session — paste-buffer -p reaches Claude's input with no client attached. The no-tmux fallback still uses pane.write (claude runs directly in our PTY there). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>