What it is
Cline is an open source coding agent available as a CLI, a macOS/Windows desktop app, a VS Code extension, a JetBrains plugin and a Node.js SDK. It reads project structure, edits files across a codebase, runs terminal commands, and monitors linter and compiler errors as it works. All products are powered by the same engine, and the agent can be extended with plugins and MCP servers.
Who it's for
- Developers who want an AI coding agent inside VS Code or JetBrains IDEs
- Teams automating tasks in CI/CD or scripts via the headless CLI
- Developers building custom agents or integrations with the SDK
- Users who want to choose their own model provider, including local models
Requirements
Requirements
- Node.js/npm to install the CLI (npm i -g cline) or the SDK (npm install @cline/sdk)
- An AI model provider or compatible endpoint (e.g. Anthropic, OpenAI, Google, OpenRouter, Ollama, LM Studio)
- VS Code, a JetBrains IDE, or macOS/Windows for the respective extension, plugin or desktop app
Setup
Install the CLI
Install Cline globally with npm to run it in your terminal, either interactively or headless.
bashnpm i -g clineInstall the SDK
Install the SDK to build your own agents and integrations on the same engine.
bashnpm install @cline/sdkInstall the IDE extension or desktop app
Install the VS Code extension from the VS Marketplace, the JetBrains plugin from the JetBrains Marketplace, or download the desktop app for macOS and Windows from cline.bot/desktop.
Examples
Headless CLI usage
bashcline "Run tests and fix any failures"
git diff origin/main | cline "Review these changes for issues"
cline --json "List all TODO comments" | jq -r 'select(.type == "agent_event" and .event.text) | .event.text'What it does: Run Cline with no interaction, pipe input in, and get JSON output for scripting and CI/CD.
Custom tool with the SDK
typescriptimport { Agent, createTool } from "@cline/sdk"
const deployTool = createTool({
name: "deploy",
description: "Deploy the current branch to staging.",
inputSchema: { type: "object", properties: { env: { type: "string" } }, required: ["env"] },
execute: async (input) => {
// your deployment logic
},
})
const agent = new Agent({ tools: [deployTool], /* ... */ })What it does: Registers a custom deploy tool and passes it to an Agent via the SDK.
Multi-agent team
bashcline --team-name auth-sprint "Plan and implement user authentication with tests"What it does: Starts a coordinated team of agents; team state persists across sessions.
Scheduled agent
bashcline schedule create "PR summary" \
--cron "0 9 * * MON-FRI" \
--prompt "List all open PRs and their review status" \
--workspace /path/to/repoWhat it does: Creates a cron-scheduled recurring agent run that persists across restarts.
Connect to Telegram
bashcline connect telegram -k $BOT_TOKENWhat it does: Lets you chat with your agent from Telegram, with each thread mapped to an agent session.
Pros & cons
Pros
- Pro:Works with many model providers, including local models via Ollama/LM Studio and any OpenAI-compatible API
- Pro:Human-in-the-loop approval for file edits and commands, with diffs and checkpoints to undo changes, plus optional auto-approve
- Pro:Available across CLI, desktop, VS Code, JetBrains and SDK, sharing one engine
- Pro:Extensible via SDK plugins and MCP servers, with multi-agent teams, scheduled agents and messaging connectors
Cons
- Con:The VS Code extension is listed as still migrating (WIP) in the repo layout
- Con:The JetBrains plugin is not open-sourced
- Con:Diff review is documented only for VS Code and JetBrains, not all products
Images
