The agent in your editor:
sees what you see, changes what you approve.
The extension runs a local MCP server inside your editor; cc agent in the integrated terminal connects automatically —
editor capabilities become agent tools, and agent edits go through the editor's native diff under your judgment.
Six things, all automatic.
Selection with every prompt
Each prompt automatically carries your current selection + open tabs (an <ide-context> block) — the model knows what you are looking at, never persisted to the session.
Diagnostics fed back
After the agent edits a file, language-server errors/warnings flow back into the tool result — it sees and fixes its own breakage within the same loop.
Native diff approval
File-edit confirmation upgrades to the editor’s side-by-side diff: edit the right side, Accept replaces execution, hunk-level "Pick hunks…" partial accept, Reject never writes.
Jupyter kernel
executeCode runs code in the active notebook’s kernel and returns output, variables persist across calls (VS Code).
Sidebar Chat panel
Talk to the agent without a terminal: streaming replies + tool traces + Plan-mode cards + dangerous-op Approve/Deny cards + session resume + /sessions switcher.
@ files / slash commands
@-path TAB completion ranks editor-open files first; the panel supports /new /plan /approve /reject /stop.
Two steps to install
- 1. Install the CLI:
npm i -g chainlesschain(≥ 0.162.39;cc ide doctordiagnoses connectivity) - 2. Install the extension: VSCodium / Cursor etc. — search ChainlessChain IDE in the extension panel (Open VSX); IDEA / PyCharm / WebStorm — Settings → Plugins → Marketplace, same name (2024.2+). Official VS Code Marketplace listing pending — build a local .vsix from source meanwhile.
Safe defaults: server binds localhost only + per-instance random Bearer token + 0600 lockfile; on the CLI side --no-ide / CC_IDE_CONTEXT=0 / CC_IDE_DIFF_APPROVAL=0 switch each behavior off.
Protocol, troubleshooting, architecture
Discovery protocol (lockfile + env), Streamable HTTP, editor-agnostic design — all in the docs.
Read the IDE bridge docs ↗