HARNESSES AND BROKERS / CODING HARNESS
Cline
Cline is an Apache 2.0 licensed coding agent best known as a VS Code extension. Its defining choice is human approval at each step, with Plan and Act modes and checkpoints that make every change reversible.
Technology
What it is
Cline is an open source coding agent. It started as a VS Code extension and now also runs as a CLI and an SDK. In the editor it creates and edits files, runs terminal commands, and can browse the web, all inside the developer's working environment. The project is licensed Apache 2.0.
Approval at every step
By default every file edit and terminal command requires the user's approval. Auto-approve exists for people who want to loosen that, and the starting point is a person in the loop for each action.
That default makes Cline a clean example of one end of the autonomy spectrum the harness layer article describes. Step-level approval is slow for routine work and very easy to reason about: nothing happens that a person did not see.
Plan mode and Act mode
Cline separates planning from doing. In Plan mode it explores the codebase and proposes a strategy without changing anything. In Act mode it carries the plan out. Separating the two gives the developer a natural review point before any file changes, and it lets the plan itself be discussed and corrected cheaply.
Checkpoints
Changes are tracked with checkpoints, so the agent's work can be rolled back to an earlier state. This pairs well with step-level approval: approval stops bad actions before they happen, and checkpoints undo the ones that turned out wrong later.
Model providers
Cline works with many providers: Anthropic, OpenAI, Google Gemini, OpenRouter, AWS Bedrock, local models through Ollama and LM Studio, and any OpenAI-compatible API. Model choice is configuration, which keeps the models layer replaceable.
MCP and browser use
Cline connects to databases, APIs, and other systems through MCP servers, and can help create new MCP tools on request. The CLI manages servers with cline mcp. Browser use lets the agent check a running web app, which is useful for front-end work and another surface for untrusted input.
.clinerules
Project-specific rules live in .clinerules files, covering coding standards, architecture, and testing conventions. When a team also uses other harnesses, keeping these rules aligned with AGENTS.md or other instruction files avoids each agent following different conventions.
Where it fits in an open stack
Cline is an execution-layer harness with open source code, wide provider support, and MCP for tools. Its approval-first design makes it a good choice where trust is still being established, and a useful reference for how to expose an agent's actions to review.
Gotchas worth knowing
- Approval fatigue is real. Approving dozens of routine steps leads to approving without reading. Auto-approve narrowly rather than broadly.
- Browser and web content is untrusted input. Pages the agent reads can contain instructions aimed at it.
- Checkpoints are not commits. They help inside a session; commit reviewed work to git for a durable record.
How it scores on openness
- Replaceable. Strong. Many hosted providers, local models, and any OpenAI-compatible endpoint.
- Inspectable. Strong. Apache 2.0 source, and every action is shown before it runs.
- Portable. Good for MCP servers; rules files are Cline specific unless kept in sync with shared formats.
- Bounded. Strong by default, since edits and commands need approval. Auto-approve weakens this deliberately.
- Grounded. Strong for code, plus browser checks against a running app.
- Auditable. Moderate in-session through checkpoints, and good once reviewed work lands in git.
What it is not
Cline is not a model and not a broker. It runs one agent in your environment, with you approving its steps.
Openness scorecard for Cline
The notes above describe the tool. The score belongs to your deployment of it, because configuration, permissions, and where records are kept decide most of the result. Score each test 0 (absent), 1 (partial), or 2 (demonstrated) for the way you run Cline, out of 12.
| Test | Question | What a 2 looks like | Evidence to collect |
|---|---|---|---|
| Replaceable | Can one component be swapped without rebuilding the system? | A major component has been swapped, and the work was measured in days, not months. | Which component did you last swap, and how long did it take? |
| Inspectable | Can a builder understand what runs and why? | The exact context, tool calls, and results for each step are exported to storage you own. | Where do traces live, what do they contain, and how long are they kept? |
| Portable | Can identity, skills, context, and work move? | Identity, skills, and work are files in open formats and have been loaded into a second tool. | What have you exported and reloaded somewhere else? |
| Bounded | Are authority and approval requirements explicit? | Tool scopes, delegated user identity, and approvals are enforced outside the model and tested adversarially. | What stops the agent from taking an action its user could not take? |
| Grounded | Do agents share durable data and semantic meaning? | Agents query governed metrics over versioned tables and cite the definition and data version. | Which semantic definitions and tables do agents use? |
| Auditable | Can people reconstruct decisions and outcomes? | Runs, approvals, and data versions are recorded long enough to reconstruct any decision. | Could you reconstruct an agent decision from three months ago? |
Score your Cline setup on the interactive scorecard. It runs in your browser, and you can download the result as JSON or print it.
Where to learn more
Primary sources first. Documentation and specifications move faster than any summary, so treat the links below as the authority and this page as orientation.
- Cline on GitHub ↗Source, the Apache 2.0 license, and setup for the extension, CLI, and SDK.
- Cline documentation ↗Official docs for Plan and Act, providers, MCP, rules, and checkpoints.
- Model Context Protocol ↗The open protocol Cline uses to connect to databases, APIs, and custom tools.