My recent experience of Gemini CLI in comparison to Claude code is very negative. For a complex task of trying to migrate some code base from CPU-only to GPU computations Claude was really helpful, and allowed me to conduct a range of experiments and converge towards sensible architecture. In the same time I simply was not able to get anything useful out of Gemini. Some code was written, but it was not tested, was failing or timing out and after repeated prodding Gemini got into loops or internal errors.
Watching Gemini CLI repo daily is great insight into how Google works. Tons of commits, three release channels, great ambitions and very little to show. These guys are running in all directions and getting nowhere.
I once spent an hour trying to get an API key for Gemini from AIStudio and Vertex, with assistance from LLMs, and finally gave up and used OpenRouter. It's that great an experience.
Gemini is really bad with tool calling, doesn't matter if you use it with Gemini CLI or with OpenCode, its just that the model itself is not a agentic model. It can be okay if only use it for asking stuff about the codebase, but not for doing agentic stuff. It'll waste large parts of its context window just failing to do tool calling properly.