Unlisted / Post-Mortem

Gemini Code vs. Claude Code: The $800 Runaway Spin Cycle

Engineering Notes • Solo Dev Post-Mortem

I didn't actually set out to switch to Gemini Code. I was deep into building an automated radio broadcast system—refactoring playback handlers and wiring up text-to-speech to faithfully reproduce a specific announcer voice. I had assumed my consumer AI Pro plan granted access or discounts into newer model tiers, only to realize that API token billing lives in an entirely separate universe.

Because my pipeline code had to be upgraded for newer model endpoints anyway, I figured I would give Gemini Code a spin in the terminal and pay via API tokens. Coming from Claude Code with Opus as my daily driver, I wanted to see if Google's CLI tool could hold its own on a live, multi-file media project.

The Honeymoon Phase

At first, my honest reaction was: "OMG, amazing." The speed out of the gate felt incredible.

Visually, the CLI interface looks almost identical to Claude Code—the clean terminal aesthetic, the diff layout, the interactive prompt. But don't let that surface resemblance fool you for a second. They do not work the same under the hood.

I had taken a similar hiatus into other tools previously for the exact same reason: frustration with Claude's heavy token grabs during high-output weeks. Seeing Gemini Code fire up with blazing responsiveness initially felt like an oasis.

Day 2: The $800 Spin Cycle

Then came Day 2.

I had Gemini in the browser plan a UI revamp for an automated radio station dashboard. It laid out the plan cleanly with before-and-after mockups. The actual implementation was dead simple: vanilla static HTML/JS handling WebSocket data streaming in every 1/4 second. I asked the browser Gemini to write the prompt for Gemini Code CLI so there wouldn't be any translation loss.

Gemini Code completely choked on the very prompt its web counterpart generated.

⚠️ Damage Report: Over a nearly 12-hour session, Gemini Code repeatedly brute-forced test failures and tool runs, racking up an $800 API bill in a single day for a solo dev.

The fatal design flaw: Gemini Code operates like a stubborn, single-threaded agent. Unlike Claude Code, which decomposes large tasks and spins up sub-agents to verify or reason through roadblocks, Gemini rarely parallelizes effectively. When it gets stuck, it doesn't pause to reconsider the architecture. Instead, it enters a brute-force death loop: rewriting tests, hammering failing fixes, and burning API calls until it crashes hard into your spending ceiling.

The ultimate irony? I spent the next eight hours paying Claude Code to clean up the wreckage that Gemini CLI left behind.

Key Takeaways