VS Code

Use Cusp inside VS Code, Cursor or Kiro, with edits reviewed in the diff editor, context from your selection and diagnostics, and native approval prompts.

The Cusp extension puts the agent in a VS Code panel. It's a client of the local Cusp daemon, so the sessions are the same ones you see in the desktop app and the cusp CLI: start in the editor, continue in the terminal, or the other way round.

The extension goes live on the VS Code Marketplace and Open VSX with the first public release.

Requirements

  • VS Code 1.105 or later, or a compatible editor such as Cursor or Kiro.
  • A trusted workspace. The extension doesn't run in Restricted Mode.
  • A model provider configured in Cusp, or a provider key in the environment.

Install

Install the extension

Available with the first public release.

Open Cusp

Click the Cusp icon in the activity bar, or press ⌘⎋ (Ctrl+Esc).

What you get

  • The Cusp panel, in the activity bar or in an editor tab (Cusp: Open in New Tab): this workspace's sessions, a streaming transcript with tool calls, approvals and questions, and the mode, model and effort pickers.
  • Edits reviewed in the diff editor. When Cusp asks to edit a file, the proposal opens beside the file. Accept (⌘↵) or Reject (⌘⌫) from the editor title. Finished changes can be reopened from the transcript and reverted.
  • Context from your editor. Your selection is offered with your next message. ⌥K adds it as a mention like @src/app.ts#L10-20. @ mentions files, including unsaved changes. Cusp: Fix Problems in This File sends the file's diagnostics.
  • Native prompts. When the panel is hidden, approvals, questions and plan reviews also appear as VS Code notifications and quick picks.
  • Status bar. Shows the daemon connection and whether a session is running or waiting for you.
  • Terminal handoff. Cusp: Continue Session in Terminal opens the session in the cusp terminal UI. cusp running in this window's integrated terminal can read your selection and diagnostics and open diffs in the editor.

Keyboard shortcuts

CommandmacOSWindows / Linux
Open Cusp⌘⎋Ctrl+Esc
New session⌘⇧⎋Ctrl+Shift+Esc
Add selection to chat⌥KAlt+K
Accept / reject proposal (diff editor)⌘↵ / ⌘⌫Ctrl+Enter / Ctrl+Backspace
Respond to the pending request⌘⌥YCtrl+Alt+Y
Switch permission mode (in the composer)⇧⇥Shift+Tab

Other commands in the Cusp category: New Session, Show Sessions, Add File, Interrupt, Revert Change and Reconnect to Daemon.

Settings

SettingDefaultMeaning
cusp.daemon.urlConnect to this daemon instead of finding one
cusp.daemon.pathPath to a cusp-daemon executable to start
cusp.daemon.dataDir~/.cuspData directory for a daemon the extension starts
cusp.permissions.nativePromptswhenHiddenShow approvals as VS Code notifications: always, whenHidden or never
cusp.diffs.reviewEditstrueOpen proposed edits in the diff editor for review
cusp.context.shareSelectiontrueOffer your editor selection with the next message
cusp.terminal.bridgetrueLet cusp in integrated terminals talk to this window

How it finds the daemon

The extension connects, in order, to:

  1. The daemon at cusp.daemon.url, if set.
  2. A daemon that's already running, such as the desktop app's, found through ~/.cusp/daemon.json.
  3. A daemon it starts itself: cusp.daemon.path, then the desktop app's bundled cusp-daemon, then cusp-daemon on your PATH. A daemon it started stops when the window closes.

The terminal bridge

cusp in an integrated terminal reaches VS Code over a WebSocket on 127.0.0.1, with a random port and a random token for each window. The address and token are passed only to that window's terminals through environment variables, never written to disk. The token is checked in constant time, and any request from a browser (one with an Origin header) is refused. Turn the bridge off with cusp.terminal.bridge.

Next

On this page