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.
Beyond catching mistakes, separating planning from execution lets you assign different models to each phase. I ran plan mode on a top-tier reasoning model where the careful thinking pays off, then switched act mode to a cheaper, faster model for the mechanical edits. Most of your tokens get spent in the act loop reading files and writing diffs, so putting the expensive model only where it earns its keep can meaningfully cut the bill on a long session without dumbing down the actual decisions.
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.
The bring-your-own-key model means there is no monthly ceiling. A single ambitious task — "refactor this module and update all its call sites" — can read and rewrite a lot of context, and on a frontier model that adds up fast. Use plan mode to keep the agent from wandering, cap auto-approve so it cannot loop unattended, and keep an eye on the running cost display. If you forget the agent is running, the meter does not.
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."
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
Originally published at pickuma.com. Subscribe to the RSS or follow @pickuma.bsky.social for new reviews.
Top comments (0)