Cline Review: The Open-Source Autonomous Coding Agent for VS Code in 2026
A hands-on review of Cline, the open-source VS Code coding agent — plan/act modes, per-step diff approval, MCP support, and a bring-your-own-key cost model that bills you at provider rates with no markup.
I have tried most of the autonomous coding agents that have landed in VS Code over the last two years, and most of them ask you to trust a box. You type a request, something whirs, files change, and you find out afterward whether it understood you. Cline is the one that refuses to do that. It shows you the plan before it touches anything, asks before every file write and every terminal command, and prints the running token cost in the corner so you can watch the meter. I ran it as my primary agent for about two weeks on a real TypeScript monorepo and a smaller Rust side project, mostly on an M2 MacBook Air, and the experience was less “magic” and more “a junior pair who narrates everything.” That is a compliment.
Cline started life as Claude Dev — you will still see that name in older threads and screenshots — and it is fully open source, MIT-licensed, with the development happening in the open on GitHub. That single fact shapes everything about how it behaves. There is no hosted backend deciding which model you get or quietly rate-limiting you. You bring your own API key, you point it at whatever model you want, and the extension is just the loop that drives it.
What Cline actually does inside the editor
At its core Cline is an agent loop running as a VS Code (or compatible fork) extension. You describe a task in natural language and it works in steps: it reads the files it thinks it needs, proposes edits as diffs, runs commands in an integrated terminal, reads the output, and decides what to do next. The difference from a chat assistant is that it keeps going on its own toward the goal — but with a hand on the brake the whole time.
The brake is human-in-the-loop approval. By default, every file edit shows up as a diff you approve or reject, and every terminal command waits for your yes. When Cline wants to run npm test or cargo build, you see the exact command first. You can auto-approve categories once you trust a session — read operations, safe commands, edits within the workspace — which turns the experience from “approve every keystroke” into “approve the risky stuff.” I left reads and edits on auto-approve most days but kept terminal commands gated, because that is where an agent can do real damage.
What surprised me is how much the file-context handling matters in daily use. Cline reads file structure and pulls in relevant files itself rather than making you paste them, and it surfaces which files it is looking at. On a large codebase that visibility is the difference between trusting it and second-guessing it. You can see when it has the wrong mental model and correct course before it writes a line.
Plan mode, act mode, and why the split works
Cline’s headline feature is the plan/act toggle, and it is the thing I would miss most if I switched away. In plan mode the agent can read your code and talk through an approach, but it cannot edit files or run commands. You go back and forth, refine the plan, point out the constraint it missed, and only when you are satisfied do you flip to act mode and let it execute.
This sounds minor. In practice it changes the failure profile entirely. The expensive mistakes with autonomous agents are not typos — they are confidently building the wrong thing across fifteen files before you notice. Plan mode front-loads the disagreement to when it is cheap. I used it to talk through a refactor of an authentication middleware, caught that it wanted to introduce a dependency I did not want, redirected it in plan mode, and then act mode executed cleanly in one pass. A common pattern is to run plan mode on a strong reasoning model and act mode on a cheaper, faster one, since planning rewards reasoning and execution mostly rewards throughput.
Checkpoints, rollback, and recovering from a bad run
Agents go off the rails. The question is what happens next. Cline takes a workspace snapshot at each step, so you get a checkpoint timeline you can roll back to. If the agent took a wrong turn five edits ago, you do not have to manually unpick its work or lean entirely on git stash — you restore to the checkpoint before the detour and try again with a better prompt.
I leaned on this more than I expected. A typical loop became: let it run, watch it drift, roll back two steps, add the constraint it was missing, re-run. Because the rollback is built into the agent’s own timeline rather than your git history, you can experiment aggressively without polluting your commits with half-finished agent attempts. It does not replace version control — I still commit at meaningful boundaries — but it makes the inner experimentation loop far less precious.
Bring your own key, and watching the meter
This is the part where Cline diverges hardest from the commercial agents. There is no Cline subscription. You plug in an API key and you pay the model provider directly, at their list price, with no markup. Cline supports Anthropic, OpenAI, Google’s Gemini, OpenRouter as an aggregator, AWS Bedrock and Azure for the enterprise crowd, and local models through Ollama or LM Studio if you want to run something on your own hardware. OpenRouter in particular makes it trivial to try a dozen models against the same task without managing a dozen accounts.
The flip side of no markup is no flat rate. Cline shows the token count and dollar cost of the current task as it runs, and the first time you do a big multi-file feature you will feel it. Autonomous agents are token-hungry: every step re-reads context, and a long session reading and rewriting files across a large repo can run real money. Across my two weeks of fairly heavy use I spent more than a single month of a Cursor subscription would have cost — but I also did work that a flat plan would have throttled or routed to a weaker model. The cost is transparent, which is the point, but transparent is not the same as cheap.
MCP support and extending what the agent can reach
Cline supports the Model Context Protocol, which lets the agent talk to external tools and data sources through a standard interface — databases, issue trackers, documentation, browser automation, your internal APIs. You can connect existing MCP servers, and Cline can even help you build and install new ones from a description, which lowers the barrier from “go write an integration” to “tell the agent what you want it to be able to do.”
In practice MCP is the difference between an agent that only knows your files and one that can check your database schema, read a Linear ticket, or hit a staging endpoint as part of solving a task. I did not lean on it heavily in two weeks, but the open standard matters strategically: because MCP is shared across the ecosystem, servers you set up for Cline work with other MCP-aware clients too, so you are not building against a proprietary plugin format that locks you in.
How Cline compares to Cursor and Aider
The honest framing is that these three tools occupy different points on a control-versus-convenience axis. Cursor is a full VS Code fork with deep, polished integration and a subscription that bundles model access — around the low-$20s per month for the standard plan as of mid-2026 — so you do not think about tokens until you hit the plan’s limits. It is the smoothest out-of-box experience and the easiest to recommend to someone who just wants it to work. The tradeoff is that it is closed, you are inside their fork, and the economics are a black box that has shifted more than once.
Aider lives in the terminal, is open source, and is beloved by people who want a tight, git-native, keyboard-driven loop. It commits each change as it goes and is exceptionally good if your mental model is “the command line is home.” It is less of an autonomous-explore-the-codebase agent and more of a precise, conversational pair that edits the files you bring it.
Cline sits between them: open source like Aider, but living inside your editor with a visual diff-approval UI and a more autonomous loop, and bring-your-own-key like neither Cursor’s bundle. If Cursor is “trust the product” and Aider is “command-line craftsman,” Cline is “autonomous agent with the lights on.”
| Tool | Tool | Model access | Interface | Open source |
|---|---|---|---|---|
| Cline Best for Devs who want control + their own key | Bring your own key, no markup | VS Code extension, visual diffs | Yes (MIT) | |
| Cursor Best for Smoothest out-of-box experience | Bundled subscription (~low $20s/mo) | Full VS Code fork | No | |
| Aider Best for Command-line, git-first workflows | Bring your own key | Terminal, git-native | Yes |
Who should use Cline
Reach for Cline if you want control and observability and you already have, or are happy to get, your own API key. It is the right pick if you care about seeing every diff and every command before it runs, if you want to choose your model per task, if you need local models for privacy or air-gapped reasons, or if open source is a hard requirement for tooling you let touch your codebase. The plan/act discipline also makes it a genuinely good way to learn how to drive an agent well, because it forces you to articulate the plan.
It is the wrong pick if you want a predictable flat monthly bill and would rather not think about tokens — that is Cursor’s lane. It is also probably overkill if your mental home is the terminal and you want something lean and git-native, where Aider will feel more natural. And if you are brand new to AI coding agents, the constant approvals and the visible cost meter can feel like a lot before you build the intuition for when to auto-approve.
For me the deciding factor was the combination of transparency and freedom. I would rather see the bill and the diffs than be surprised by either. After two weeks Cline is the agent I kept open, with the explicit understanding that I am the one watching the meter.
FAQ
FAQ
Is Cline free?+
What is the difference between Cline and Claude Dev?+
Can I run Cline with a local model instead of a cloud API?+
How does Cline keep an autonomous agent from making dangerous changes?+
Is Cline cheaper than a Cursor subscription?+
Related reading
2026-06-04
The MCP Servers Worth Installing in 2026: A Curated Review
After running coding agents for months with too many MCP servers and then too few, here is the short list of Model Context Protocol servers that actually earn their context-window cost — plus the ones quietly wasting your tokens.
2026-06-04
Goose CLI Review: Block’s Open-Source Agent After the Linux Foundation Handoff
A hands-on review of Goose, Block's open-source on-machine AI agent — provider-agnostic config, MCP extensions, the CLI session-and-recipe workflow, and how it stacks up against Claude Code and OpenCode.
2026-06-04
JetBrains Junie Review: IntelliJ's Native AI Coding Agent, Tested
I ran JetBrains Junie inside IntelliJ IDEA for two weeks on a large Kotlin codebase. Here is where the native IDE integration actually pays off, and where the quota and IDE weight bite back.
2026-06-04
Supermaven vs Codeium: Free AI Autocomplete Compared in 2026
Two of the best free AI autocomplete tools, tested head-to-head — latency, context window, IDE support, free-tier limits, and what Supermaven's move into Cursor means for its standalone future.
2026-05-28
NVIDIA Nemotron Omni: What the Multimodal Model Means for Agent Builders
NVIDIA's Nemotron Omni unifies text, vision, and audio in one model. Here's how developers can wire it into agent stacks — and where the rough edges still are.
Get the best tools, weekly
One email every Friday. No spam, unsubscribe anytime.