[BUG] --print mode returns empty output in v2.1.83 (regression from v2.1.81)

Resolved 💬 5 comments Opened Mar 25, 2026 by wook95 Closed Apr 19, 2026

Bug Description

claude --print mode returns empty output in v2.1.83, despite the API generating output tokens. This is a regression — v2.1.81 works correctly.

Reproduction Steps

# v2.1.83 - empty output
claude --print "say hello"
# (empty)

# v2.1.83 - JSON mode shows tokens generated but result is empty
claude --print --output-format json "say hello"
# {"type":"result","result":"","output_tokens":23,...}

# v2.1.81 - works correctly
~/.local/share/claude/versions/2.1.81 --print "say hello"
# Hello! How can I help you today?

Key Observations

  • output_tokens are generated (5-40 tokens depending on prompt), confirming the model IS responding
  • result field in JSON output is always "" (empty string)
  • stop_reason is "end_turn" (normal completion)
  • Affects both text and JSON output formats
  • Happens with all models (opus, sonnet)
  • Happens with --system-prompt override (not caused by CLAUDE.md)
  • Happens with DISABLE_OMC=1 and minimal environment
  • Tested with nohup + file redirection to rule out terminal/nesting issues

Environment

  • Broken version: 2.1.83 (installed 2026-03-25 15:46)
  • Working version: 2.1.81 (installed 2026-03-23)
  • Platform: macOS Darwin 25.2.0
  • Auth: OAuth (re-login did not fix the issue)

Impact

This breaks any automation relying on claude --print for non-interactive usage (CI/CD pipelines, daemon processes, scripts).

Workaround

Pin to v2.1.81 binary: ~/.local/share/claude/versions/2.1.81

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗