I’ve written about all three of these individually at this point, and I keep noticing people asking the same question in comments and threads: they all say “open source,” “BYOK,” and “model-agnostic,” so what’s actually different? Here’s my honest read after spending real time in each.

OpenCode is the terminal-first, provider-agnostic default. It’s currently the most-starred open-source coding agent by a wide margin — around 202k stars as of late August, MIT licensed, and it connects to 75+ model providers out of the box. It lives entirely in the terminal as a TUI (text UI), not an editor extension, which means it doesn’t care whether you’re in VS Code, JetBrains, Vim, or nothing at all. The tradeoff of that flexibility is that it’s less integrated into any single editor’s UI — no inline diff view in your IDE, no sidebar. If your workflow is already terminal-centric, or you bounce between editors and don’t want to reconfigure an extension every time, this is the one built for that.

Aider is the git-native pair programmer. Every single edit Aider makes lands as an actual git commit with a generated message, which means your entire session with it is a real, readable, revertable history — not a diff you approve once and forget. That’s a genuinely different mental model from the other two: you’re not reviewing a pile of changes at the end, you’re pair programming one committed step at a time. The catch, and I’d be doing you a disservice not to say it plainly: Aider’s development has visibly slowed. It sits around 48k stars and multiple trackers now describe it as stalled since around May 2026, with model guidance that hasn’t kept pace with 2026’s frontier releases. The core tool still works exactly as advertised. It’s just not the one shipping new capability every week anymore.

Cline is the one that grew past being “just” a VS Code extension. It’s still the most natural pick if you want to stay inside VS Code specifically — that’s where it started, and the in-editor diff-and-approve workflow is genuinely well built. But since pulling its agent runtime into the open-source @cline/sdk, that same core now also runs a standalone CLI, a JetBrains plugin, and a web-based Kanban board for running several agents in parallel, each in its own git worktree. Around 67k stars, growing, and unlike Aider it’s been shipping fast — Cline 2.0 rewrote the prompting and agent loop from scratch specifically to stop leaving performance on the table with newer models.

If you just want the short answer: pick OpenCode if you live in the terminal and want maximum provider flexibility with the most active development velocity of the three. Pick Aider if git-commit-per-edit is a workflow you actually want, and you’re fine with a tool that isn’t chasing every new model release. Pick Cline if you want to stay in VS Code today but might want the same tool to follow you into a terminal or JetBrains later.

None of these lock you to one model provider, which is worth restating given what just happened to Gemini CLI — that’s not a minor feature on any of these three, it’s closer to the whole reason they’re worth using in the first place.