Exit 0, Empty stdout: the Quota Died on stderr
Originally published on hexisteme notes . The setup: workers as ephemeral subprocesses Part of how I run background coding tasks is by shelling out to a subscription-gated CLI from a different vendor than my main assistant, one task at a time. No daemon, no shared server — each worker starts, does one job, and exits, and I read back whatever it produced. That pattern itself is fine. What I got…
The issue arose when a worker using OpenAI's Codex CLI exceeded its usage limit mid-task. The error message, "You've hit your usage limit," appeared on stderr, while stdout remained empty with 0 bytes. The exit code was 0, misleadingly indicating success, despite the actual failure. This problem is significant because a dispatcher checking only the exit code may incorrectly record the task as completed.
On macOS, the lack of a default timeout binary exacerbates the issue, as it can lead to false successes. The source emphasizes that relying solely on exit codes can be problematic, and suggests instead checking for the expected output artifact. The issue is not specific to AI tooling and applies to any pipeline-friendly tool that uses stderr-plus-exit-0 to handle various failure conditions.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.