6 min read

Cline: An Open-Source Coding Agent for Your IDE (GitHub, Scanned)

An open-source coding agent for VS Code, JetBrains, the terminal and the desktop, with any model you like.

Cline logo
✅
Scan: safe. Nothing malicious. The notes are about use: commands run in your own terminal with your permissions, gated by approvals you can switch off, and the extension asks to send anonymous usage telemetry. Scanned Sep 27, 2026; the full report is below.

Cline is a coding agent that started as a VS Code extension and now runs in four places from one engine: the VS Code extension, a JetBrains plugin, a CLI and a desktop app for macOS and Windows. It reads your project, edits files across it, runs terminal commands and watches the output, and in the editor shows every edit as a diff you approve. A Plan mode explores and proposes before an Act mode changes anything, and a .clinerules file carries a project's conventions.

Its draw is choice. Cline works with Anthropic, OpenAI, Google, OpenRouter, Bedrock, Vertex, Groq and local models through Ollama or LM Studio, and adds MCP servers, multi-agent teams, scheduled agents and connectors that let you talk to it from Slack or Telegram. The code is Apache-2.0 and run by Cline Bot Inc.; the JetBrains plugin is the one piece not open-sourced. With 330 contributors and releases most days, it is one of the busiest repositories on this list.

  • Repository: github.com/cline/cline
  • Licence: Apache-2.0 (Apache License 2.0)
  • Language: TypeScript. Stars: 69.4K. Forks: 7,531. Last push: Sep 27, 2026.
  • Scan: safe, Sep 27, 2026, commit 252082b

Who it is for

VS Code and JetBrains users who want an agent inside the editor with a model of their choosing, teams that want the same agent in CI through the headless CLI, and anyone who wants approval on each step by default.

Getting started

1. Install the CLI (the VS Code extension and JetBrains plugin are in their marketplaces; the desktop app is at cline.bot/desktop)

npm i -g cline

2. Run a task headless in the current repository

cline "Run tests and fix any failures"

3. Or build your own agent on the same engine

npm install @cline/sdk

Safety scan

We cloned cline/cline at commit 252082b on Sep 27, 2026 and ran the checks described on the GitHub Tools page: credential patterns, decode-and-execute code, install-time scripts, committed binaries, risky CI workflows, every host the code talks to, known vulnerabilities in pinned dependencies, and project hygiene. A person read every hit. This is what we found.

  • Three secret candidates, all in tests: a placeholder private key in the CLI's CA certificate test and two fake xoxb- Slack tokens in the Slack connector's tests. No self-decoding code, no committed binaries. The one bare IP, 100.82.5.118, is a Tailscale-style address in the tests for the hub's invite links. The repository was scanned with Git LFS disabled; .gitattributes tracks only two demo GIFs through LFS, so nothing that runs was missed.
  • The three pattern hits are tests too: Telegram API URLs in the Telegram connector's tests, and a PowerShell -EncodedCommand string in the shell parser's tests, which exist so Cline treats such commands with care.
  • Install hooks are ordinary: husky's prepare, a prepack guard against publishing the CLI by hand, a UI build, and two Tauri build.rs files for the desktop apps. No postinstall fetches anything.
  • Known advisories: 48, one critical, which is Vitest in the evals tooling. The high ones sit mostly in the docs site's build (14) and in the Tauri desktop apps' Cargo lockfiles, where quick-xml has two denial-of-service advisories; the desktop app ships from there, but it parses its own files.
  • 18 workflows. Two use pull_request_target: one triggers JetBrains tests only for members or on a maintainer's comment and never checks out the pull request, the other only edits PR descriptions through the API and is pinned to a commit. 5 of 44 third-party actions pinned. Security policy, Dependabot and code of conduct present.

What the scanner counted

CheckResult
Secrets3 candidates found and read; see the notes above.
Suspicious code3 pattern hits found and read; every one is listed under the raw findings.
Install-time code3 npm lifecycle scripts. 2 Cargo build scripts. 3 installer scripts
Committed binariesNone.
CI workflows18 workflows. 2 use pull_request_target, none check out the pull request head. 39 of 44 third-party actions pinned to a tag rather than a commit.
Network hosts40 distinct hosts referenced from source; most often github.com, api.example, api.cline.bot, app.cline.bot. 3 URLs to a bare IP address, listed under the raw findings.
Known vulnerabilities48 advisories across 1,680 pinned packages: 1 critical, 25 high, 13 moderate, 1 low, 8 unrated. apps/examples/desktop-app/src-tauri/Cargo.lock: 519 packages, 13 advisories; apps/examples/menubar/src-tauri/Cargo.lock: 436 packages, 11 advisories; apps/vscode/standalone/runtime-files/package-lock.json: 84 packages, 2 advisories; docs/package-lock.json: 925 packages, 18 advisories; evals/analysis/package-lock.json: 160 packages, 13 advisories; evals/package-lock.json: 63 packages, 1 advisories.
Project hygieneHas security policy, automated dependency updates, licence file, contributing guide. Missing CodeQL.
OpenSSF ScorecardNot scored: the project is not in Scorecard's weekly index.

The raw findings

Every hit the scanner wrote out, with a link to the exact line at the scanned commit. Secrets candidates are redacted.

Secret candidates (3, redacted)
WhereRuleMatch
apps/cli/src/bin/ca-certs.test.ts:105private-key-----B…--- (27 chars)
apps/cli/src/connectors/adapters/slack.test.ts:323slack-tokenxoxb-t…ken (15 chars)
apps/cli/src/connectors/adapters/slack.test.ts:338slack-tokenxoxb-t…ken (15 chars)
Pattern hits (3)
WhereRuleMatch
apps/cli/src/connectors/adapters/telegram-format.test.ts:147exfil-host"https://api.telegram.org/bottoken/sendMessage",
apps/cli/src/connectors/adapters/telegram.test.ts:311exfil-host"https://api.telegram.org/bot123:test/getMe",
sdk/packages/shared/src/parse/shell.test.ts:234powershell-encoded"powershell -NoProfile -EncodedCommand VwByAGkAdABlAA==",
URLs to bare IP addresses (3)
WhereRuleMatch
apps/cline-hub/src/validate-options.ts:47ip-literal-urlPUBLIC_URL: "http://100.82.5.118",
apps/cline-hub/src/validate-options.ts:52ip-literal-url"http://100.82.5.118:8787",
apps/cline-hub/src/validate-options.ts:57ip-literal-url"http://100.82.5.118:8787/?roomSecret=invite-123",
npm lifecycle scripts (3)
  • apps/cli/package.json prepack: bun script/guard-direct-publish.ts
  • package.json prepare: husky
  • sdk/packages/ui/package.json prepack: bun run build
Installer scripts (3)
Worst known vulnerabilities (24 of 48)
AdvisorySeverityPackageSummary
GHSA-5xrq-8626-4rwpcriticalvitest@1.6.1When Vitest UI server is listening, arbitrary file can be read and executed
RUSTSEC-2026-0194highquick-xml@0.38.4Quadratic run time when checking a start tag for duplicate attribute names
RUSTSEC-2026-0195highquick-xml@0.38.4Unbounded namespace-declaration allocation in `NsReader` enables memory-exhaustion denial of service
GHSA-5375-pq7m-f5r2high@grpc/grpc-js@1.13.3@grpc/grpc-js: A malformed request can cause a server crash
GHSA-99f4-grh7-6pcqhigh@grpc/grpc-js@1.13.3@grpc/grpc-js: An incoming malformed compressed message can cause a client or server crash
GHSA-7q85-xj36-vmfchighadm-zip@0.5.16adm-zip: Uncontrolled memory allocation via the declared uncompressed size (DoS)
GHSA-xcpc-8h2w-3j85highadm-zip@0.5.16adm-zip: Crafted ZIP file triggers 4GB memory allocation
GHSA-7pqw-9j4j-h8q3highextract-zip@2.0.1extract-zip allows arbitrary file writes through symlink archive entries
GHSA-jmr9-qjv8-65gvhighextract-zip@2.0.1extract-zip unvalidated symlink path traversal
GHSA-5jgf-p345-68v8highfast-uri@3.1.5fast-uri vulnerable to host confusion via skipped IDN canonicalization on scheme-relative references
GHSA-f65p-4m7j-42xchighfast-uri@3.1.5fast-uri vulnerable to server-side request forgery via malformed IPv6 normalization
GHSA-fph4-wmhf-6fwfhighfast-uri@3.1.5fast-uri vulnerable to server-side request forgery via repeated hostname percent-decoding
GHSA-jqff-g426-hqxphighfast-uri@3.1.5fast-uri vulnerable to host confusion via percent-encoded scheme normalization
GHSA-2883-xcg3-v3hhhighjs-yaml@4.3.1js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources
GHSA-2v37-7h3g-55p8highnanoid@3.3.17nanoid: custom generators can loop indefinitely when size is zero
GHSA-37ch-88jc-xwx2highpath-to-regexp@0.1.12path-to-regexp vulnerable to Regular Expression Denial of Service via multiple route parameters
GHSA-r28c-9q8g-f849highpostcss@8.5.14PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
GHSA-f88m-g3jw-g9cjhighsharp@0.33.5sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-2026-35590, CVE-2026-35591
GHSA-rgj7-g3m4-5g8chighsharp@0.33.5sharp: Vulnerabilities in libheif: GHSA-g89c-p67h-r497 and GHSA-2jg2-4ch7-h545
GHSA-28wg-ghj8-5hjvhighnanoid@3.3.11nanoid: non-secure generators can loop indefinitely with negative size
GHSA-2v37-7h3g-55p8highnanoid@3.3.11nanoid: custom generators can loop indefinitely when size is zero
GHSA-xwg4-73v4-xw9whighnanoid@3.3.11nanoid: Integer Overflow or Wraparound
GHSA-6g55-p6wh-862qhighpostcss@8.5.6PostCSS: Arbitrary file read and information disclosure via attacker-controlled sourceMappingURL in CSS comments
GHSA-r28c-9q8g-f849highpostcss@8.5.6PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
Workflows worth a look

By the numbers

Stars69.4K
Forks7,531
Contributors330
Commits7,453
Open issues843
Open pull requests624
Releases432
Latest releasedesktop-v0.0.37
LicenceApache-2.0
Main languageTypeScript
Project age2 years
Last pushSep 27, 2026
Tracked files4,135
Lines of code896.3K
Checkout size70 MB

Lines by language: TypeScript 792.5K, Markdown 56.4K, JSON 16.4K, JavaScript 8,880, YAML 6,037, CSS 4,741.

Questions

Is Cline free?

The extension, CLI, desktop app and SDK are Apache-2.0 and free. You bring a model: an API key billed per token, a subscription some providers accept, or a local model through Ollama or LM Studio. Cline also sells credits through its own provider account, which is optional. Agent sessions are token-hungry, so a hosted-model bill is the real cost.

Does Cline run commands without asking?

Not by default. Every file edit and terminal command asks for approval, and in the editor each edit appears as a diff first. You can turn on auto-approve for some or all actions, and the headless CLI runs without prompts by design. Commands run in your own terminal with your permissions, so give it a branch and no production keys.

Does Cline send my code anywhere?

Your code goes to the model provider you choose, as context, which is how every hosted-model agent works; with a local model it stays on your machine. Separately, the extension asks whether to send anonymous usage telemetry, described as event data without code or file contents, and respects VS Code's global telemetry switch.


This post is part of GitHub Tools, where every repository is cloned and scanned before it is written up. The scan is a snapshot of one commit on one day; the repository has moved on since, so check it before you install.