OpenAI's Codex quietly wrote 640 TB a year to your local SSD

One user's Codex feedback log grew 37 TB in 21 days. A consumer SSD rated for about 600 TBW would be dead inside a year, and the sessions were idle.

In brief

The SQLite log kept only ~500K rows, yet its autoincrement counter had passed 5.5 billion: a frantic insert-and-prune churn, 70.7% of it raw TRACE noise. The cause was a one-line default capturing every diagnostic at Level::TRACE. A maintainer who'd hit an identical bug years before pushed back on the slop jokes, then someone found Claude Code doing the same thing.

An openai/codex GitHub issue documented something unsettling: Codex was hammering local SQLite feedback logs because its logging sink defaulted to Targets::new().with_default(Level::TRACE), capturing dependency internals, raw protocol payloads, and OpenTelemetry mirrors.

A counter at 5.5 billion behind a 500K-row table

Codex SQLite logging issue
Codex SQLite logging issue

The documented volume reached roughly 640 TB per year. One user clocked about 37 TB over 21 days — enough to burn through a consumer SSD's ~600 TBW endurance in under a year. The retained database held only ~500K rows while the autoincrement counter exceeded 5.5 billion, the signature of relentless insert-and-prune. TRACE logs made up 70.7% of content; OpenTelemetry mirrors another 25.3%. It was closed June 22, 2026 after two PRs (#29432 stopped logging every WebSocket response, #29457 filtered noisy targets) cut about 85% of the volume.

Before the fix shipped, the thread reproduced it

A founder formerly at Meta, Reddit, and Google posted a reproduced mitigation and a hard number:

"Someone posted a temporary workaround for this on X… sqlite3 ~/.codex/logs_2.sqlite "CREATE TRIGGER IF NOT EXISTS block_log_inserts BEFORE INSERT ON logs BEGIN SELECT RAISE(IGNORE); END;" Also, I found that running VACUUM FULL on the sqlite file… shrunk it from 27GB to a mere 73MB." — a bootstrapped startup founder

whalesalad, of FarmLogs, watched it happen live:

"I just ran sudo iotop to watch live disk activity and sure enough all my idle codex sessions were spinning away writing god knows what constantly to disk." — whalesalad, a YC-backed founder

The pile-on annoyed someone who had shipped the same mistake before any model could:

"I've been bitten by a bug exactly like this before in a (pre-AI, artisan) OSS project. … Perhaps the framing shouldn't be 'haha slop' but rather why doesn't the AI write better quality software than we do?" — an OSS maintainer who hit an identical runaway-write bug

And it wasn't a Codex problem so much as a coding-agent problem. Another reader found the same wear pattern one tool over:

"Same issue with Claude Code btw — it writes massive debug logs to ~/.claude/logs. Had to symlink it to a tmpfs to stop wearing out my SSD." — a commenter who reproduced it on Claude Code

The fix in the thread was a single default; the worry it leaves is that a developer never sees this until the drive's SMART counters start dropping, and most never check.

Get breakdowns like this every day

The top Hacker News stories, unpacked — by email, Telegram, or RSS.

Next story · 9 of 30 Read more
🔥Hot Discussion

A laid-off Blizzard veteran says AI didn't break tech hiring, it supercharged the rot

Six months after a June 2025 layoff from Blizzard, a ten-year industry veteran sat down to vent into the void. The claim: automated screening punishes honest candidates and rewards the ones quietly running AI on the other side of the screen.

★ 281 · 💬 233 · urflow.bearblog.dev · 3 min