Skip to main content

I switched to Gemini to save money, but it ended up costing me more than Claude

·889 words·5 mins
Alex Haslam
Author
Alex Haslam
I’m an engineer based in London, with expertise in optimisation, machine learning and simulation.
Table of Contents

I recently set up an old Dell PC running Ubuntu server as my homelab. It threw up the usual networking and permissions issues, and I thought an agent would speed up the debugging. I’ll walk through one task as an example (setting up a Samba share for Time Machine backups), which showed up the difference between the agents pretty starkly.

Claude Code is £18/month. For hobby use, that felt expensive. I assumed Gemini would work just as well for less money. I had access to Google AI for free via a trial, so I thought I might as well try that.

It turns out Claude is probably worth the money.

Attempt 1: Gemini CLI works fine for simple tasks
#

To be fair, raw Gemini CLI works well for straightforward conversions. When I needed to convert my LaTeX CV to Typst, it handled it without issues.

I thought: “If it can handle that, homelab debugging should be fine too.”

The real test came when I tried to set up a Samba share for Time Machine backups. This felt like a fairly easy, well-scoped task; find a Docker image that meets two requirements:

  • Modern Samba version (more efficient streaming for virtual APFS)
  • Configurable Docker image (to build a runtipi app later)

and then sort out any networking or permissions issues. Gemini found two Docker images:

I explicitly told it: “I need modern Samba,” which rules out the dperson image. It kept suggesting dperson anyway, and completely ignored the constraint I gave it. It also kept getting stuck in infinite loops, where I had to intervene.

Attempt 2: Adding a harness didn’t help
#

I thought that this was because the Gemini CLI harness wasn’t very good. So I tried using OpenCode (an agentic harness) and configured it to use Gemini under the hood.

What initially drew me to it was that it’s quite a sophisticated product. It is not just a pure CLI tool; it has a web GUI so you can code from the browser without SSH, a dedicated thinking mode, and you can even configure different models for different roles; a cheaper model for small edits, a more powerful one for planning for example. It all sounded great on paper.

New harness, same results
#

Unfortunately, despite the better UI, the experience was similar to Gemini CLI. It kept falling back to dperson/samba, which didn’t meet my initial requirements. At least it didn’t loop forever; it gave up and explained why it was stuck.

Adding a more sophisticated harness made no difference. That doesn’t mean the harness is irrelevant. But it’s not enough to compensate for a weak underlying model, or at least that appears to be the case with OpenCode.

The API bill
#

I was using the cheaper Gemini Flash as the implementation agent, but I thought it might not be good enough for this task. So I switched over to using the more expensive Gemini Pro via API.

I spent roughly £5 in one evening across various homelab debugging tasks. That’s 25% of a monthly Claude Code subscription, and my Samba server still didn’t work.

Attempt 3: Claude Code solved it
#

At this point, I realised I should probably try what I know works in my day job: Claude Code.

Claude’s approach to the same Samba problem:

  • Planned before jumping in; understood what I was trying to achieve
  • Recognised that the two images I’d found weren’t a good fit, and went looking for alternatives
  • Found mbentley/docker-timemachine which is a purpose-built image I hadn’t come across
  • SSH’d into the homelab and tested from both sides
  • Solved it

The rule of thumb is that for low usage, PAYG is cheaper. So I initially tried Claude via API, thinking it would be cheaper than the subscription. While I did solve my problem, I spent another ~£5 in the process.

After this result, I bit the bullet on Claude Pro (£18/month). It’s a proper product rather than just API access; some features are paywalled even with an API key, such as remote control, which lets you start tasks from your phone while away from your desk.

What I took from it
#

A better harness can’t fix a weaker model
#

Simple agents like Gemini CLI are fine for simple conversions like LaTeX to Typst. But they struggle on anything more complex.

There’s a fundamental model limitation here, not just a tooling issue. Gemini kept taking shortcuts and ignoring my constraints, even with a better agentic harness.

Claude still has an advantage, for now
#

Right now, you can’t get the same experience for less money. The gap isn’t about features. Claude worked out what I was trying to do; Gemini did not.

That said, this space is moving fast. OpenCode with a stronger model choice might close the gap; I only tested it with Gemini. And the model landscape in six months will look very different.

The subscription threshold is lower than you think
#

I spent £5 in one evening of hobbyist debugging. Four evenings like that and I’d have spent the £18 anyway; that’s before counting the time lost fighting with Gemini.

Developer time is expensive (even if it is just for your hobbies!). The subscription makes sense at much lower usage levels than I’d expected.