[BUG] Claude Code CLI hangs with whitespace-only prompt and empty stdin
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude Code print mode appears to hang when given a whitespace-only prompt with an empty stdin. Instead of rejecting the input or exiting cleanly, the process stays running until killed by a timeout.
Reproducer:
- Create an empty file: /tmp/empty
- Run Claude Code in print mode with a whitespace-only prompt and redirect stdin from the empty file.
- Wrap the command with a 20-second timeout.
- The process exits with timeout status 124, showing it did not terminate on its own.
or use these commands
/usr/bin/time -v timeout 20s claude -p " " < /tmp/empty
or claude -p " "
and claude -p " " < empty file
The CLI hangs until externally killed. This works also with -c -p " space"
Impact:
This is a low-severity local DoS / reliability issue that may affect scripts, so not a major issue.
What Should Happen?
Should Claude not hang, I guess? Maybe a better parser?
Error Messages/Logs
N/A
Steps to Reproduce
Reproducer:
- Create an empty file: /tmp/empty
- Run Claude Code in print mode with a whitespace-only prompt and redirect stdin from the empty file.
- Wrap the command with a 20-second timeout.
- The process exits with timeout status 124, showing it did not terminate on its own.
or use these commands
/usr/bin/time -v timeout 20s claude -p " " < /tmp/empty
or claude -p " "
and claude -p " " < empty file
The CLI hangs until externally killed. This works also with -c -p " space"
Claude Model
Not sure / Multiple models
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.140 (Claude Code)
Platform
Other
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Non-interactive/CI environment
Additional Information
Best
- Kenan Alghythee
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗