Bee 1e4cdbda61 fix(desktop): sync reviewed Composio connectors onto desktop-experimental (#13739)
* Revert "feat(desktop): Composio connectors on desktop-experimental (#13685)"

This reverts commit 7844ae9250.

* feat(desktop): current Composio connectors state for desktop-experimental

Replaces the Aug 30 snapshot (#13685) with the reviewed state of
bee/poc-connectors-composio (PR #13684, Greptile 5/5): reverts the
snapshot commit, then applies the feature diff from that branch's
merge base, resolved against desktop-experimental's own changes
(cloud-agents flag wiring, marketplace layout).

This brings the fix for the beta-blocking bug - connector tools now
register in-process at session bootstrap from composio.json instead of
through a generated drop-in plugin, which packaged apps cannot load
(the plugin sandbox needs a JS runtime and bootstrap file on real disk
that the .app bundle does not ship). It also brings everything else
from review: durable cancellation tombstones with confirmed-revocation
pruning, fail-closed revocation error handling, serialized state
writes, per-slug delta reconciliation, connect/disconnect race
anchoring, zero-tools self-heal and warning, the @cline.bot
internal-feature gate with persisted account context, and the
env-var-only managed key model (no key in build artifacts).

* fix(desktop,core): revoke upstream grants on delete, scope flag cache per identity, paginate reconciliation

Review findings from johnwschoi on #13684 plus the follow-up Greptile
finding on #13739, all verified against the installed SDKs:

- Upstream revocation: @composio/core's connectedAccounts.delete never
  sends revoke_on_delete and the API defaults it to false - a soft
  delete that removes the Composio record while leaving the provider
  OAuth grant (the actual Gmail/Calendar/GitHub token) authorized after
  the UI reports a disconnect. All deletions now go through the raw
  client (getClient()) with revoke_on_delete=true, covering disconnects
  and every cancelled/abandoned-attempt revocation.

- Feature-flag identity scoping: FeatureFlagsService.setContext kept
  the previous identity's cached flag values, so after an account
  switch whose poll fails, the new account inherited the old one's
  flags (including internal-feature access). An identity change now
  resets the cache to defaults until a successful poll for the new
  identity, and constructor hydration skips a persisted snapshot
  written by a different known identity; the unresolved-at-startup
  fallback is preserved.

- Pagination: reconciliation listed only the first page of connected
  accounts while treating absence as "revoked remotely", so an account
  on a later page was disconnected locally. The listing now follows
  nextCursor to the end (capped), and absence-based removals are
  skipped entirely if the cap is ever hit.

- Disconnect id-guard: a redirect-less reconnect that finalized while a
  disconnect awaited the old account's revocation was blindly deleted
  from local state, orphaning its still-authorized account for the next
  refresh to import as a resurrection. Disconnect now removes only the
  exact account it revoked and stamps lastDisconnectedAt only when the
  removal took effect - the newer reconnect survives, consistent with
  newest-intent-wins everywhere else.

- Schema resilience: one stored tool schema that createTool rejects
  (e.g. an unsupported top-level allOf) threw during extension setup
  and blocked session initialization; registration is now per-tool
  fault-isolated (skip and log).

Regression tests for each: revoke flag asserted on every delete call,
identity-switch and failed-poll flag scoping, cross-identity persistent
cache, two-page reconciliation, disconnect-vs-reconnect race, malformed
schema skip.
2026-09-01 13:29:35 -07:00
2026-05-25 21:35:59 +02:00
2026-05-19 01:36:34 +02:00
2024-12-21 20:18:59 -08:00
2026-02-03 13:51:23 -08:00

Cline

Cline

The open source coding agent in your IDE and terminal.


CLI

Run Cline in your terminal. Interactive chat or fully headless for CI/CD and scripting.

npm i -g cline

Learn more

Kanban

Run many agents in parallel from a web-based task board. Each card gets its own worktree, auto-commit, and dependency chains.

npm i -g kanban

Learn more

VS Code Extension

AI coding assistant in your editor. Create files, run commands, browse the web, and use tools with human-in-the-loop approval.

Install from VS Marketplace

JetBrains Plugin

The same Cline experience in IntelliJ IDEA, PyCharm, WebStorm, GoLand, and the rest of the JetBrains family.

Install from JetBrains Marketplace

SDK

Build your own AI agents and integrations powered by the same engine that runs the CLI, Kanban, VS Code extension, and JetBrains plugin. Custom tools, multi-agent teams, connectors, scheduled automations, and more.

npm install @cline/sdk

Documentation


Index

Product Description Location CHANGELOG
SDK Node.js programmatic agent API and extension exports. sdk/ CHANGELOG.md
CLI Terminal UI, headless mode, shell commands, and CLI-specific flows. apps/cli/ CHANGELOG.md
VS Code Extension The Marketplace extension and extension host integration. / (WIP migrating) CHANGELOG.md
JetBrains Plugin JetBrains-hosted client that talks to the shared agent core. Currently we are not open-sourcing JetBrains plugins -
Kanban Web-based multi-agent task board. cline/kanban CHANGELOG.md
Docs site Public documentation pages. docs/ -

Edits Code Across Your Project

Cline reads your project structure, understands the relationships between files, and makes coordinated changes across your codebase. It monitors linter and compiler errors as it works, fixing issues like missing imports, type mismatches, and syntax errors before you even see them. In VS Code and JetBrains, every edit shows up as a diff you can review, modify, or revert. All changes are tracked with checkpoints, so you can easily undo the agent's work.

Runs Bash Commands

Cline executes commands directly in your terminal and watches the output in real time. Install packages, run build scripts, execute tests, deploy applications, manage databases. For long-running processes like dev servers, Cline continues working in the background and reacts to new output as it appears, catching compile errors, test failures, and server crashes as they happen.

Plan and Act

Toggle between Plan mode and Act mode. In Plan mode, Cline explores your codebase, asks clarifying questions, and lays out a strategy. Once you're aligned, switch to Act mode and Cline executes the plan. Every file edit and terminal command requires your approval, so you stay in control of what actually changes. Or toggle auto-approve and let Cline run autonomously.

Rules and Skills

Define project-specific rules in .clinerules files that guide how Cline works in your codebase: coding standards, architecture conventions, deployment procedures, testing requirements. Rules are picked up automatically by the CLI, VS Code extension, and JetBrains plugin. Use skills to let the model load specific rules when needed.

Works With Every Model

Cline is not locked to a single AI provider. Use whichever model fits your workflow:

Provider Models
Anthropic Claude Opus, Sonnet, Haiku
OpenAI GPT series models
Google Gemini series models
OpenRouter 200+ models from any provider
Vercel AI Gateway Route to many providers through one gateway
AWS Bedrock Claude, Llama, and more
Azure / GCP Vertex All hosted models
Cerebras / Groq Fast inference models
Ollama / LM Studio Run local models on your machine
Any OpenAI-compatible API Self-hosted or third-party endpoints

Extend With Plugins or MCP Servers

Extend Cline's capabilities with plugins. Using the SDK, register tools and lifecycle hooks programmatically through the plugin system for logging, auditing, policy enforcement, or adding domain-specific capabilities. Simple plugin example below.

import { 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], /* ... */ })

...or use MCP servers to connect to databases, query APIs, manage cloud infrastructure, and interact with external systems. Use community-built servers or ask Cline to create custom tools on the fly. In the CLI, manage servers with cline mcp.

Multi-Agent Teams

Coordinate multiple agents working together on complex tasks. A coordinator agent breaks the work into subtasks and delegates to specialist agents, each with their own tools and context. Team state persists across sessions so you can pick up where you left off.

cline --team-name auth-sprint "Plan and implement user authentication with tests"

Scheduled Agents

Run agents on cron schedules for recurring automations. Daily PR summaries, weekly dependency checks, codebase health reports. Schedules persist across restarts and run independently of any terminal session.

cline schedule create "PR summary" \
  --cron "0 9 * * MON-FRI" \
  --prompt "List all open PRs and their review status" \
  --workspace /path/to/repo

Connect to Slack, Telegram, Discord, and More

Chat with your agent from any messaging platform: Telegram, Slack, Discord, Google Chat, WhatsApp, and Linear. Each conversation thread maps to an agent session with full context. Set up access control to restrict who can interact with your agent.

# Connect to Telegram
cline connect telegram -k $BOT_TOKEN
# Connect to Slack through webhook
cline connect slack --bot-token $SLACK_TOKEN --signing-secret $SECRET --base-url $URL
# Connect to Slack using socket mode
cline connect slack --bot-token $SLACK_TOKEN --app-token $SLACK_APP_TOKEN

Headless CLI for CI/CD

Run Cline with zero interaction for scripting and automation. Pipe input, get JSON output, chain commands, integrate into CI/CD pipelines.

cline "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'

Contributing

Start with the Contributing Guide. Join our Discord and head to the #contributors channel to connect with other contributors. Check our careers page for full-time roles.

License

Apache 2.0 © 2026 Cline Bot Inc.

S
Description
Autonomous coding agent right in your IDE, capable of creating/editing files, executing commands, using the browser, and more with your permission every step of the way.
Readme Apache-2.0
2.1 GiB
Languages
TypeScript 96.1%
JavaScript 2.2%
Python 0.4%
PureBasic 0.4%
CSS 0.3%
Other 0.6%