Skip to content

cli: human output panics with exit 101 on early pipe closure #530

Description

@willwashburn

Problem

burn sessions list | head exits 101 with a raw Rust panic when the consumer closes the pipe early. The #518 fix (PR #529) made --json output and stdout stamps export exit 0 quietly on downstream pipe closure; the human-output paths were explicitly out of that PR's scope and still panic.

Shape of the work (from the #518 review)

Not uniform across renderers:

  • overhead's human renderers already return io::Result — closest to correct.
  • sessions/summary use print!/println! across ~55 sites, which panic on EPIPE.
  • render::table::print_table returns io::Result but currently has no callers outside its own tests.

Expected: human output on a closed pipe exits 0 quietly, matching the JSON behavior PR #529 established and the changelog's stated JSON-only boundary.

Deferred from #518 during adversarial review.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions