| [ Web Proxy ] |
| Viewing: https://commandcode.ai/docs/ide | [Back] [Original] |
Run Command Code directly in VS Code, Cursor, and other editors, with a native chat interface, session management, and agent approvals.
The extension adds a Sessions tree to the Activity Bar and an agent panel that opens in the Secondary Side Bar or an editor tab. You can start new sessions, resume previous conversations, and review agent actions without leaving your IDE.
The extension includes the Command Code agent runtime and shares sessions, sign-in, preferences, skills, and MCP servers with the Command Code CLI.
Command Code for VS Code and Cursor are currently in beta, so you may still run into bugs or unexpected behavior. We recommend reviewing its actions carefully. Report any issues on GitHub.
The extension ID is CommandCode.commandcode-vscode. The extension requires VS Code 1.106 or newer (or an editor built on that VS Code version) and a Command Code account.
Install in one click. Each button opens the extension in your editor, ready to install:
Or choose where to install from.
Install from the VS Code Marketplace in VS Code.
Cmd + Shift + X, or Ctrl + Shift + X on Windows and Linux).Or install it from a terminal:
code --install-extension CommandCode.commandcode-vscode
Install from Open VSX in Cursor, Windsurf, VSCodium, and other editors that install extensions from Open VSX. In Windsurf, open it directly.
Cmd + Shift + X, or Ctrl + Shift + X on Windows and Linux).Or install it with your editor's CLI:
cursor --install-extension CommandCode.commandcode-vscode
Use windsurf or codium instead of cursor for Windsurf or VSCodium.
Install the extension with the Command Code CLI.
If you don't have the CLI yet, install it with npm i -g command-code@latest, then sign in with cmd login. See Quickstart.
From any terminal, run:
cmd --ide-setup
This installs the extension into every supported editor it finds. You can also run cmd from your editor's integrated terminal, or /ide inside a running session.
Open the Command Palette (Cmd + Shift + P, or Ctrl + Shift + P on Windows and Linux) and run Developer: Reload Window.
Select the Command Code icon in the Activity Bar, or press Cmd + Shift + ' (Ctrl + Shift + ' on Windows and Linux), and sign in.
Extensions installed from the VS Code Marketplace or Open VSX update automatically through your editor.
See IDE Integration for how the CLI connects to your editor.
Open Command Code
Click the Command Code icon in the Activity Bar or press Cmd + Shift + ' (Ctrl + Shift + ' on Windows and Linux).
Sign in
Select Continue with Command Code to sign in through your browser, or enter an API key.
Start a session
Create a session, enter your prompt, and choose a model from the composer.
Review changes
Approve edits from the permission card. Select Open in editor on a diff card, then Keep Change or Revert Change in the diff toolbar.
Manage sessions from the Sessions tree in the Activity Bar.
/resume or /sessions in chat.commandcode.sessions.aggregateRoots./fork to copy the current conversation into a new session. Use /rewind or press Esc twice in an empty, idle composer to return to a checkpoint. Right-click a message for Rewind to Here or Copy Message./export to save a transcript or /copy to copy the last response.You can run multiple sessions in the sidebar and separate editor tabs. To launch the CLI for the same project, run Command Code: Open CLI in Terminal from the Command Palette.
Use the composer to send prompts, choose models, set reasoning effort, and manage permissions. The header includes New Session, Sessions, and Settings. Goal and Queued tabs appear when needed, as does a PR chip when the current branch has an open pull request.
@ for files and folders, or / for commands and installed skills.Up Arrow or Down Arrow to browse prompt history shared with the CLI./model, or /effort./context to view session context usage, or /taste to manage learned preferences.Click Stop to interrupt the current turn. File paths in responses open with Cmd + Click (Ctrl + Click on Windows and Linux). Code blocks include highlighting and a copy button.
Set commandcode.preferredLocation to sidebar or tab to choose where chat opens. Run Command Code: Open Chat in Editor Tab to open the current chat in a tab, or Command Code: Open Chat in Secondary Sidebar to return. You can also use Cmd + Shift + ' to open sidebar chat.
Editor-tab chats show the session title on the tab instead of in the chat header.
Command Code uses your active file and selected code as context, so you can ask questions like "explain this" without pasting a path. The composer shows the file and line range, such as auth.ts L1020. Click the context chip to toggle this feature.
commandcode.context.autoAttachSelection controls automatic selection sharing. commandcode.context.maxSelectionLength limits it to 2000 characters by default. Use /add-dir to grant read and write access to another directory.
Shortcuts below use macOS keys. On Windows and Linux, replace Cmd with Ctrl. Only the chat-opening shortcut works globally; the others work inside chat.
| Shortcut | Action |
|---|---|
Cmd + Shift + ' | Open chat in the Secondary Side Bar. |
Enter / Shift + Enter | Send a prompt / insert a newline. Set commandcode.composer.submitKeybinding to shiftEnter to swap them. |
Up Arrow / Down Arrow | Browse prompt history or move through / and @ menus. |
Tab | Select the highlighted menu item. |
Shift + Tab | Cycle permission modes. |
Ctrl + O | Expand or collapse thinking and tool output. |
Esc | Stop a turn, close a menu, or deny permission. |
Esc twice | Rewind when the composer is empty and idle. |
Enter / Ctrl + Y | Approve a permission request / explain a command. |
Cmd + Enter | Submit an answer to an agent question. |
Plan mode lets Command Code explore your codebase and prepare a plan without changing files. Choose it from the permission menu, press Shift + Tab, or run /plan or /plan <task>.
The plan opens as a Markdown preview beside chat. From its approval card, you can:
Plans are saved to ~/.commandcode/plans/. Use /plans to browse them. See Plan Mode.
| Mode | Behavior |
|---|---|
| Ask for approval (default) | Ask before file edits and commands. |
| Auto-accept edits | Apply edits and run commands, but ask before risky actions. |
| Plan mode | Prepare a plan without editing files. |
| Full access | Skip permission prompts. |
Use Shift + Tab or the permission menu to switch modes. New sessions use your configured default.
Permission cards show the action and a diff for edits. Choose Allow once, Allow for this session, Allow for this project, or Deny. There is no global approval across all projects. See Permissions.
Zero Data Retention (ZDR) sessions enforce zero data retention and no prompt training on every request, like running the CLI with CMD_ZDR=1. Only ZDR-capable providers are used, which may cost more.
ZDR applies only to the newly created session while it is active. You cannot turn it on for an existing session, set it as a default, or restore it by resuming a session. Run the command again to start another ZDR session.
Models without ZDR providers are marked No ZDR and cannot be selected. If needed, Command Code switches to a ZDR-capable default model. Regular sessions return to your previous model selection. In /config, unsupported feature-model choices are marked No ZDR and incompatible overrides are paused.
See Zero Data Retention for provider routing and pricing.
Type / in the composer to browse commands. The menu lists only the commands the extension can run, plus installed skills with a skill badge. See the full Slash Commands reference.
/plan Investigate a task and prepare a plan
/goal Give the agent a standing objective
/mode View or change the permission mode
/config Search and change agent settings
/mcp Manage MCP servers
/memory Edit your project or user AGENTS.md
/context Show context-window usage
/fork Copy the current conversation into a new session
/rewind Restore the conversation or code to an earlier prompt
/compact Reduce a long session's context
/usage Show plan and rate-limit usage
/design Your design partner. Audit, build, compose, and ship UI
Commands available only in the CLI show a message that they aren't supported in the VS Code extension. Unrecognized / commands are sent to the model as regular prompts, just like in the CLI.
See CLI vs VS Code extension for the full list.
Use /config for settings shared with the CLI, or run Command Code: Open Settings to open VS Code settings filtered to commandcode.*. The extension hides theme and force-oauth in /config because they do not apply in VS Code. See Settings & Config.
/login and /logout use credentials shared with the CLI. Signing out also signs out the CLI. /usage shows plan and rate-limit usage as percentages./mcp lists servers, scopes, status, transport, and tools. Reconnect, disable, remove, or authenticate a server there. Add server saves to the project (.mcp.json) or user (~/.commandcode/mcp.json) configuration shared with the CLI. See MCP configuration.chat.fontSize and chat.fontFamily when set, not editor.fontSize.| Setting | Default | Description |
|---|---|---|
commandcode.preferredLocation | sidebar | Open chat in sidebar or tab. |
commandcode.startup.autoOpen | false | Open Command Code on startup. |
commandcode.composer.submitKeybinding | enter | Send with enter or shiftEnter. |
commandcode.composer.showContextMeter | false | Show the context meter. |
commandcode.context.autoAttachSelection | true | Attach selected code automatically. |
commandcode.context.maxSelectionLength | 2000 | Maximum selection length in characters. |
commandcode.sessions.aggregateRoots | workspace+worktrees+subdirs | List sessions from workspace, workspace+worktrees, or workspace+worktrees+subdirs. |
commandcode.goal.maxTurns | 100 | Maximum turns for /goal. |
commandcode.todos.enabled | false | Show todos in the dock and /todos. |
commandcode.addDir.picker | auto | Choose auto, dialog, or overlay for /add-dir. |
Changes to preferredLocation, submitKeybinding, or showContextMeter prompt a window reload. Other settings apply immediately.
This section covers CLI features that aren't available in the VS Code extension yet, along with features that work differently between the two. We're working toward full parity with the CLI, so this list will change over time.
These slash commands are currently not supported in the VS Code extension. The panel declines them with a notice; run them from the CLI in the same project.
/init /exit /quit /reload /learn-taste
/skills /rename /name /clone /connect
/compact-mode /tree /terminal-setup /ide
/worktree /plan-review /theme /upgrade /extra
/learn /update /changelog /hotkeys /rc
These terminal shortcuts are also unavailable:
Ctrl + G edit the prompt in $EDITORCtrl + S stash and restore the promptOption + P quick model switch (use the model picker)Ctrl + X open the todo manager (use /todos)Ctrl + C Ctrl + C exitWhy didn't the Command Code panel open after install?
Select the Command Code icon in the activity bar or press Cmd+Shift+' (Ctrl+Shift+' on Windows and Linux). Typing Command Code in the Command Palette will also reveal it. If it is missing, confirm the extension is enabled, that you are on VS Code 1.106 or newer, and that the workspace is trusted.
Why can't I find Command Code in Cursor's Extensions view?
Cursor installs Command Code from Open VSX. Search for Command Code in the Extensions view and pick the extension published by CommandCode. You can also run cursor --install-extension CommandCode.commandcode-vscode (with this exact casing) or cmd --ide-setup. See Install.
Why is Command Code disabled in this workspace?
Command Code runs shell commands and reads workspace configuration, so it stays off in Restricted Mode and in virtual (non-filesystem) workspaces. Open the folder as a trusted workspace on a real filesystem.
Why does the Sessions view say Command Code couldn't start in this window?
Run Command Code: Show Logs to see why, then select Reload Window. Chat and sessions stay unavailable until the extension starts.
Where are the logs?
Run Command Code: Show Logs from the Command Palette to open the extension output channel. Include it when you report a problem.
Why does sign-in not return to the editor?
Leave VS Code open and select Sign in again. If the browser did not open, copy the sign-in URL from the welcome screen, or paste an API key instead.
Where does the IDE bridge keep its socket?
Session discovery files and the Unix socket that connects a terminal CLI to your editor live under ~/.commandcode/ide/, a directory created with owner-only permissions. On Windows the socket is a named pipe. The socket is a trust boundary; do not share its path.
How do I report a problem?
Run /feedback in the panel, or open a GitHub issue and include:
| Web Proxy Viewer | New URL | Original Page |