Setup: npm install, choose your model, start coding
Install is `npm install -g @google/gemini-cli`. You authenticate with a Google Cloud project and pick a Gemini model. I used Gemini 2.5 Pro which is free up to 1,500 requests per day. The CLI opens an interactive session similar to Claude Code: you describe what you want, it reads your project files, makes changes, and shows diffs. The first-run experience was smoother than Claude Code because there is no API key billing setup.
Head-to-head on 10 real tasks
I gave both tools the same 10 tasks from my saas.pet codebase. Gemini CLI succeeded on 7, failed on 3. Claude Code succeeded on 9, failed on 1. The gaps: Gemini struggled with cross-file refactors where the change touched 5+ files, producing inconsistent variable names across files. It also failed on a database migration where the SQL syntax was subtly wrong. Claude Code got both right. But on single-file changes, bug fixes, and test generation, the outputs were nearly identical.
The free tier is genuinely generous
Gemini 2.5 Pro gives 1,500 requests per day for free. At my usage rate (50 coding tasks per day), I never hit the limit. This is the strongest selling point: you get a Claude Code-level experience for $0. Compare to Claude Code at $15-25 per day. For a solo developer or a student, the cost difference is the deciding factor. Google says the free tier may change, but as of mid-2026 it has been stable for 6 months.
Where Gemini CLI is actually better
Google Search grounding is built in. When I asked 'how do I configure Vercel cron jobs in vercel.json', Gemini CLI searched the web and gave me the correct JSON syntax with the actual Vercel docs as source. Claude Code guessed and got the cron syntax wrong. Gemini also handles multimodal input better: I pasted a screenshot of a CSS bug and it identified the flexbox issue and generated the fix. Claude Code requires me to describe the visual problem in text.
The real limitations after a month
Context window management is worse than Claude. On files over 1,500 lines, Gemini CLI starts truncating context without warning, then makes changes based on incomplete code. The undo system is also primitive: it uses git reset, which means you lose ALL changes from the session, not just the last one. Claude Code has fine-grained undo that reverts individual file changes. And the error recovery loop is slower: when a change introduces a bug, Gemini takes 3-4 iterations to fix it versus 1-2 for Claude.