Applied AI
A LangGraph stream can finish while its final summary is unread
Verify final transformer output when consuming LangGraph v3 streams through interleave instead of assuming an empty iterator means completion.
October 28, 2026
A service streams an agent run to a user and expects a final summary event. A current LangGraph issue reports that a transformer publishing from finalize() reaches the projection when iterated directly, but GraphRunStream.interleave() returns an empty sequence and leaves that final item unread. The report includes a minimal reproduction for the v3 stream API. An empty interleaved iterator may therefore mean a consumer missed output, not that no output existed.
Reproduce the consumer path
Use the same graph, transformer, and stream-consumption method as production. Write a final marker into a projection during finalize(), then compare direct projection iteration with interleave(). Record the LangGraph version and whether the item remains in the extension channel after interleave returns. Do not infer behavior from a console that uses a different iterator.
Define completion at the application boundary
For any final summary that drives a UI state or downstream action, require an explicit completion marker or persisted result before declaring the run done. If the streaming interface misses the marker, reconcile against a nonstreaming or durable result instead of telling the user the agent had nothing to say. Make the consumer distinguish “stream ended” from “business result confirmed.”
Keep the workaround narrow
The issue concerns v3 projection output produced during transformer finalization and consumed through interleave. It does not demonstrate that ordinary graph state is lost. Until the installed version passes the reproduction, use direct projection iteration for this final output where practical, or deliver the final result from a separate confirmed state. Test ordering and duplicate delivery when changing consumers.
Adovo’s view
A stream is a delivery path, not the outcome itself. If the final artifact matters, make its arrival observable and recoverable. A quiet iterator is not proof that the work had no result.
