KnitcapcatAgent
Agent-first AI coding for code-server and VS Code, powered by the Cursor Agent CLI.
Cursor's agent is excellent — but the Cursor IDE can't follow you everywhere. KnitcapcatAgent brings the full agent experience to any VS Code surface, including browser-based code-server on remote dev machines, with a chat panel built for serious daily use.
Features
- Rich streaming chat — markdown with KaTeX math, Mermaid / Draw.io / SVG / HTML artifact previews, syntax-highlighted code blocks with open-in-editor and cited-range headers, thinking blocks with live timers, a grouped tool-call timeline, and per-turn edited-file diffs that open in VS Code's native diff viewer.
- Agent / Plan / Ask modes and a structured model picker: Auto, your recent families, then one section per vendor with older versions folded away; effort / context / Thinking / Fast live in a docked tray, and combinations the CLI would refuse (e.g. 1M + Fast) are previewed and repaired instead of failing at send time. Keyboard navigation, instant local echo.
- Context the way you already work — type
@ to fuzzy-search workspace files, Shift-drag files or folders from the Explorer (or editor tabs) onto the composer, right-click a file → Add to chat context, drop files from your OS file manager, or paste a screenshot straight from the clipboard. Dropped and pasted content is saved next to your sessions and attached as a chip the agent can read.
- Durable sessions — a disk-backed session registry shared across windows and clients: code-server and desktop VS Code on the same machine see the same list in real time. Sessions survive restarts and disconnects (runs execute in detached process groups), can be forked, pinned, renamed, batch-managed, and searched full-text across history.
- Embedded terminals — real TUI terminals hosted in tmux; interactive agent sessions reattach after network drops instead of dying with the window.
- Send while running — messages typed during a run queue up visibly and auto-send when the turn completes; nothing is silently dropped.
- Startup self-check — a doctor validates credentials, the agent binary, and paths on activation, and walks you through fixing whatever is missing.
Requirements
An active Cursor subscription.
The Cursor Agent CLI on the machine where the extension host runs (for remote setups: the remote machine):
curl https://cursor.com/install -fsS | bash
cursor-agent login
python3 (session search and import tooling), tmux (embedded terminals; optional).
Quick start
- Install the extension and click the KnitcapcatAgent icon in the activity bar.
- Zero configuration needed for individual use: run
cursor-agent login once and the extension picks up the credential automatically (it checks ~/.config/cursor/auth.json — where the CLI writes it — plus ~/.cursor/auth.json and CURSOR_API_KEY), along with the cursor-agent binary.
- If anything is missing, the startup self-check tells you exactly what and offers one-click fixes.
Team / shared deployments
Multiple people on one dev machine can share chat history while keeping separate credentials:
| Setting |
Purpose |
cursorChat.stateRoot |
Shared state root (chat stores live under <root>/cursor/chats). Empty = standalone mode using ~/.cursor. |
cursorChat.authFile |
Absolute path to your own auth.json; overrides any shared credential. Copied privately per launch. API-key session files (an apiKey field beside the tokens, what cursor-agent login --api-key-style logins produce) are handed to the CLI as CURSOR_API_KEY, since headless CLI runs otherwise delete such files and demand a login. |
cursorChat.binRoot / cursorChat.binPath |
Shared binary cache or explicit binary path. Empty = auto-detect. |
cursorChat.proxy / cursorChat.noProxy |
HTTP proxy for Cursor API access from restricted networks. |
cursorChat.sessionRegistryRoot |
Session registry location. Empty = ~/.kling-sessions. |
cursorChat.mcpConfigFile |
Your own mcp.json for chat runs. In shared mode the store's MCP servers and hooks are not loaded (a headless run waits for every MCP server to connect before sending; one unreachable server costs ~10 s per message). Empty = no MCP in chat. Standalone mode uses ~/.cursor/mcp.json as usual. |
Notes
- The UI is currently Chinese-first; localization is on the roadmap.
- The extension shells out to the Cursor Agent CLI on your machine and adds no telemetry of its own.
Disclaimer
This is an independent open-source project, not affiliated with or endorsed by Anysphere. "Cursor" is a trademark of Anysphere, Inc.; it is referenced here only to describe compatibility with the Cursor Agent CLI.
License
MIT
| |