From SSD killer to identity wall — is there a third path for AI coding tools? There is. It's called OpenCode.
Last Thursday afternoon, I opened System Information on my MacBook and stared at my SSD health for a solid three minutes.
It had dropped from 96% to 91%. In three months. That's not normal.
I opened a terminal and checked disk write stats. The number that came back made me freeze — 37.2TB total written. My Mac is less than six months old.
The culprit? OpenAI Codex CLI — the "AI coding assistant" I use every day.
My first reaction: this thing is supposed to help me write code. Why is it writing my hard drive to death instead?
⚠️ This isn't a one-off. GitHub Issue #28224 documents it in detail: Codex CLI writes approximately 640TB per year to your SSD. 640TB. An enterprise server's annual write load, quietly running on your MacBook. — Source
The story should have ended there — uninstall Codex, switch tools, move on.
But it didn't.
When I tried to switch to Claude Code, I hit an even higher wall: identity verification. Not the password kind. The government-ID-plus-real-time-selfie kind.
This article is about those three turning points. And about a better option — OpenCode.
💣 Chapter 1: Your AI Assistant Is an SSD Killer
Let me cut to the chase: Codex CLI's SSD write issue is one of the most absurd "feature bugs" I've ever seen.
What Exactly Does It Do?
Codex CLI stores every conversation with the AI in a local SQLite database. That's fine in itself. The problem is how it stores them.
💡 Think of it this way: Imagine you have a journal. Every time you want to write one line, you first copy the entire journal to a new notebook, then add that one line. After copying, you keep the old notebook on your desk instead of throwing it away. With each word you write, the pile of paper on your desk grows an inch higher.
Technically, it's SQLite's WAL (Write-Ahead Logging) mode combined with TRACE-level logging. Every time you send a message, Codex:
- Writes the entire conversation to the WAL file
- Triggers an insert-clean cycle
- The WAL file balloons to several GB
- Then merges back into the main database
- Meanwhile writing raw WebSocket/SSE data in plaintext to
~/.codex/
Every step writes like crazy. And this TRACE-level logging is hardcoded — setting RUST_LOG=warn? Useless. It doesn't read the env var at all.
| Metric | Value |
|---|---|
| Actual writes in 21 days | 37TB |
| Projected annual writes | 640TB |
| Sustained write speed | 5–16 MiB/s |
What Does This Mean for You?
If you're on a MacBook Pro M4 — the SSD is soldered to the motherboard. A replacement costs $400–700. At 640TB/year, your drive might last 2–3 years. Then congratulations, you get a new motherboard.
What's more unsettling is the privacy problem. Codex writes raw API communication data — including your code snippets and conversation content — in plaintext to disk. Anyone with access to your computer can open ~/.codex/ and see everything. — Source
What Does OpenAI Say?
"We've received your feedback, thank you for your report."
That GitHub Issue is tagged stale. Stale means "expired, we're not dealing with it." 10 months later. No fix. No workaround. No official statement. Not even a "we're looking into it."
I pay $20/month for ChatGPT Plus, use their CLI tool, and it's secretly killing my drive while the company won't even acknowledge it.
The math doesn't add up.
— — — Fine, switch tools — — —
🔒 Chapter 2: Fleeing to Claude Code, Walking Into KYC
OK, Codex is unreliable. Let's switch to Claude Code. Right?
Claude Code is genuinely good. Anthropic's flagship terminal AI assistant. SWE-bench score of 72.7% (highest available), multi-agent collaboration, deep Git integration, and that drool-worthy extended thinking mode.
Technically, it might be the most powerful AI coding agent right now. I'll give them that.
But.
On April 14, 2026, Anthropic rolled out a new policy: all users must complete identity verification (KYC) to access full features. Full enforcement starts July 8.
KYC. Know Your Customer.
💡 Picture this: You walk into your local Starbucks for a coffee. The barista smiles: "Hi, could I see your ID first? And please look at this camera for a quick selfie. Then we'll make your latte." You're stunned. It's just coffee, right? But in Anthropic's world, it absolutely is.
What Does Verification Look Like?
Anthropic outsources identity verification to a third party called Persona. You need to provide:
- Government-issued physical ID (passport, driver's license, national ID) — not a screenshot, not a scan. Physical photo.
- Real-time selfie — the system detects if you're present; photo re-captures are rejected
- Overseas phone number — +86 (China) is not on the supported list
- Visa/Mastercard credit card — Alipay and WeChat Pay not accepted
In other words, you need a non-Chinese passport, an overseas phone number, an international credit card, and then you sit in front of their camera and hand your biometric data to a US company called Persona.
Then you're done.
⚠️ For developers in mainland China: Mainland China, Hong Kong (China), and Macau (China) are all outside Persona's supported regions. You can't even submit verification. Even if you VPN in and register, you're stuck at this step.
🧱 Chapter 3: That Wall Is Especially High for Chinese Developers
You might think: "I'll just use a proxy, switch my IP, done."
Not that simple. There's a three-layer trap:
| Layer | Situation | Consequence |
|---|---|---|
| Layer 1: Registration block | China IP gets "Service not available in your region" | Can't even open the registration page |
| Layer 2: Verify = banned | Register via proxy → submit Chinese ID → Persona detects unsupported region | Account instantly disabled. $20–200 subscription not refunded |
| Layer 3: Retroactive purge | Even if you somehow pass verification, random "integrity checks" happen later | Account banned anytime. Code locked in the cloud |
Layer 2 is the wildest. One user shared their experience: spent an entire evening getting everything ready, passed the face scan, submitted passport photos. Next morning — account gone. The email had one line: "Your account has been disabled due to policy violations."
No explanation. No appeal. No refund.
You handed over your ID, your face data, your money. And they said "you're not worthy."
💰 Let's do the math: Claude Pro $20/month, Claude Max $100–200/month. If you get banned, maximum loss is $2,400/year. More importantly, those biometrics — face scans, ID photos — are sitting on Persona's servers now. You can't get them back.
Honestly, Claude Code's tech is genuinely excellent. But this "submit your ID first" approach tells Chinese developers one thing:
"We don't welcome you here."
— — — So what now? — — —
🚀 Chapter 4: OpenCode — Doesn't Ask Where You're From, Only What Model You Want
Let me introduce a project that caught my eye — OpenCode.
One sentence: MIT license, fully open source, free, no ID required, 75+ AI model providers.
178K stars on GitHub. 200+ commits per week. Community activity rivals VS Code in its heyday.
What Is It?
OpenCode is a terminal AI coding agent built with TypeScript + Go. Think of it as "Codex CLI + Claude Code's open-source hybrid" — it has its own terminal UI, reads and writes your code, executes commands, operates Git, and isn't tied to any single AI company.
Want to pick your model? Go ahead:
| Provider | Models | Access |
|---|---|---|
| OpenAI | GPT-5.5, GPT-5, o3/o4-mini | API Key or ChatGPT Plus OAuth |
| Anthropic | Claude 4.5 Sonnet/Opus | API Key or Claude Pro OAuth |
| Gemini 2.5 Pro/Flash | API Key | |
| Local | Qwen3, DeepSeek, Llama | Ollama / LM Studio / llama.cpp |
| 70+ more | Various OpenAI-compatible services | Custom endpoint + key |
🔑 Killer feature: OAuth routing. This is OpenCode's smartest design — you can use your existing ChatGPT Plus ($20/mo) or Claude Pro ($20/mo) subscription directly through OpenCode. No extra API purchase needed. That $20 you're already paying? Just works. And OpenCode, as a middleware layer, won't nuke your SSD like Codex does. — Source
How Does It Solve Both Problems?
| Issue | Codex CLI | Claude Code | OpenCode |
|---|---|---|---|
| SSD writes | 640TB/yr 💀 | Normal ✅ | Controllable ✅ |
| Identity verification | Not needed ✅ | Mandatory KYC 💀 | Not needed ✅ |
| Available in China | Needs proxy ⚠️ | Basically unusable 💀 | Fully usable ✅ |
| Open source | Yes (Rust) ✅ | No 💀 | Yes (MIT) ✅ |
| Monthly cost | $20+ | $20–200 | $0 (software) |
| Model choice | GPT-5.x only | Claude only | 75+ providers |
| IDE integration | None | VS Code | VS Code + JetBrains |
| Privacy | Plaintext on disk 💀 | Cloud processing ⚠️ | Local-first + encryption ✅ |
Cost Comparison: Who Saves the Most?
| Plan | Annual Cost | Disk Risk | Ban Risk |
|---|---|---|---|
| Codex Plus ($20/mo) | $240 | Extreme | Low |
| Claude Pro ($20/mo) | $240 | None | Extreme (China users) |
| OpenCode + existing sub | $0 | Controllable | None |
| OpenCode + pay-per-use API | ~$50–100 | Controllable | None |
| OpenCode + local models | $0 | Controllable | None |
Right. If you already have ChatGPT Plus or Claude Pro, OpenCode itself is completely free. Not one extra cent.
— — — Let me show you how to migrate — — —
🛠️ Chapter 5: 15-Minute Migration Guide
Convinced? Here's how to switch. 15 minutes.
Step 1: Install OpenCode ⏱ 2 min
macOS:
brew install opencode-ai/tap/opencode
Linux:
curl -fsSL https://opencode.ai/install | bash
Windows:
npm install -g opencode-ai
Type opencode in terminal. If you see the welcome screen, you're good.
Step 2: Connect Your AI Subscription ⏱ 5 min
Inside OpenCode, type /connect:
$ opencode
Welcome to OpenCode!
> /connect
? Select provider:
❯ OpenAI (ChatGPT Plus/Pro)
Anthropic (Claude Pro/Max)
Google (Gemini)
GitHub Copilot
Custom Provider
Pick OpenAI → browser pops up with ChatGPT login → authorize → back to terminal. Done.
Yes, that simple. No API key generation, no copy-pasting secrets. Just one login.
Step 3: Migrate Your Workflow ⏱ 8 min
Coming from Claude Code? Copy CLAUDE.md and rename it to AGENTS.md — 90% syntax compatible.
Coming from Codex CLI? Migrate codex.json to opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"npm": "@opencode-ai/provider-openai"
}
},
"model": "openai/gpt-5.5",
"tools": {
"bash": true,
"edit": true,
"read": true
}
}
Command cheat sheet:
| Feature | Codex CLI | Claude Code | OpenCode |
|---|---|---|---|
| Init project | codex init |
/init |
/init |
| Switch model | Not supported | /model |
/model |
| Connect sub | Auto | Auto | /connect |
| Run code | codex "..." |
claude "..." |
opencode "..." |
| Interactive | codex |
claude |
opencode |
🎁 Pro Tips:
- Create
AGENTS.mdin your project root — OpenCode reads it automatically- Use
/modelto switch models anytime, even mid-session- Multiple subscriptions? Set up multi-provider routing to auto-switch to the one with the most quota
- Local models (Ollama) work too — offline coding is possible
🏁 Wrapping Up
Looking back at these two weeks, I went through three phases:
- Shock: Codex is secretly killing my drive. OpenAI doesn't care.
- Anger: Claude Code demands my ID. Anthropic says Chinese developers aren't welcome.
- Relief: OpenCode showed up — free, open source, asks nothing about where you're from.
I'm not saying OpenCode is perfect. It has bugs, missing features, and the UI isn't as polished as Claude Code. But it has one quality that matters most: it's yours.
No ID required. No ban risk. No dead SSD. It's MIT-licensed, code is on GitHub, you can audit every line.
In an era of AI tools turning into walled gardens, OpenCode is a breath of fresh air. It says: good tools should serve people, not make people prove they're "worthy" of using them.
🔗 Related links:
- OpenCode on GitHub — Source
- OpenCode Official Site — Source
- Codex SSD Bug: Issue #28224 — Source
If you're using Codex CLI — go check your SSD write stats today.
If you're using Claude Code in China — start preparing Plan B.
If you haven't started with any AI coding tool — congratulations, you skip all the pitfalls. Start with OpenCode.
Your SSD and your identity should never be the price of using AI tools.
📝 ~4,500 words · 12 min read · Written by a developer migrating from Codex to OpenCode

Top comments (0)