v0.3.17
Answers stream again in Claude Code and Codex against a --api claude / --api codex-cli seat.
Fixes
-
cli-seat: stream text again when a request carries tools (cd172d5)
The seat dropped every text delta whenever a request merely offered tools, and released the
whole answer at the end. Claude Code and Codex always send their tool roster, so every turn
arrived in one burst — the client showed nothing at all while the model wrote. On a long turn that
is minutes of a frozen screen: measured on a live grid, the gap between the first chunk and the
second was 344s on an opus turn, equal to the whole request.Text before the first
{cannot be part of a tool call, so it now streams as it arrives; only the
rest waits for the parse that decides which bytes were the call. A tool call still never reaches
the client as prose. Measured on the same request with and without one tool attached: first text
delta 16.7s → 2.9s. All three wires —/chat/completions,/messagesand/responses— share
one rule.This shortens time-to-first-token, not the turn itself.
Full Changelog: v0.3.16...v0.3.17