mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-24 10:09:32 -06:00
The CLI printed with println!/eprintln!, which panic when the stream is gone, so `exec --list | head` (or any output larger than the pipe buffer) ended in a broken-pipe panic with exit status 101. Output now goes through say!/note!, which never panic. Once stdout fails, later output is dropped but the command still finishes its work (a `run ... --save` sequence isn't cut short); a closed pipe is quiet and exits 0, any other stdout error is reported and makes the exit status 1. The MCP server ends quietly when its client closes stdout. Test: a_closed_stdout_is_not_a_crash (info --json, exec --list, a saving run sequence and mcp with stdout closed before they write). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>