Repository navigation
v0.16.4
Fixed
Client#receive_responseno longer hangs in interactive Client mode. The 0.16.1 flag-based fix relied on the loop draining via the transport's:endsentinel, which only arrives when the CLI subprocess exits — true for one-shotquery()but never for aClientwhose CLI stays alive between turns.receive_responsenow drivesQueryHandler#receive_messagesdirectly so itsbreakruns on the same fiber as the underlyingAsync::Queue#dequeueloop and unwinds it. The 0.16.1 regression spec passed only because its stub iterated a finite array; replaced with a realAsync::Queuedriven from a sibling task so a hang now fails the test.
Internal
FiberBoundarydoc-comment now warns thatbreak/return/nextcannot cross the thread hop, so SDK-internal loops yielding user callbacks must keep loop control on the outer side of the boundary.
What's changed
- #31 Fix Client#receive_response hang in interactive mode + bump to 0.16.4 — @ya-luotao
Full Changelog: v0.16.3...v0.16.4
gem install claude-agent-sdk -v 0.16.4