IDE Integration
Connected to your IDE, Command Code sees the file you're editing and the lines you've selected — so "fix this" and "explain the selected code" just work, with no paths or line numbers to paste. It can also read your editor's own lint and type errors.
Launch Command Code from your IDE's integrated terminal:
The extension installs itself on first run. That's it — the input now shows In auth.ts when you have a file open.
If it doesn't connect, run /ide inside the session: it checks the connection, installs the extension if needed, and prints diagnostics.
| Method | What it does |
|---|---|
| Launch from the IDE terminal (recommended) | Installs the extension in the background on first run and connects automatically |
/ide | Checks status, installs if needed, shows diagnostic info — the fix-it command |
cmd --ide-setup | Installs the extension non-interactively and exits. For scripting and provisioning |
Auto-install is deliberately conservative. It runs only when you're inside an IDE terminal — that's the signal you want the integration at all — never in CI, and never when autoInstallExtension is false. When it does run, it installs into every detected supported IDE, so people with more than one don't end up with patchy coverage.
Three signals, one per stage of a session.
1. Connection flash. When Command Code connects or loses the IDE, a short indicator appears below the input and auto-hides after 5 seconds:
- Connected —
IDE ✓(green) - Disconnected —
run /ide(yellow)
2. Current-file indicator. While connected, the bottom left of the input box shows the file you have open:
Select lines in the IDE and it switches to a selection count:
3. Selection confirmation. When you send a prompt with lines selected, a dim hint appears below your message so you can verify exactly what was shared:
Once connected, Command Code can pull your editor's own lint and type-checking output through the get_diagnostics tool instead of re-deriving it from scratch — which is what makes "fix the errors in this file" cheap and accurate.
This is only available while the IDE is connected. Without a connection, diagnostics simply aren't there and Command Code works as usual, running your project's own lint or typecheck commands if you ask it to.
Running inside a VS Code-family integrated terminal changes one shortcut: ctrl+e for on-demand command explanations becomes ctrl+y, because the IDE itself claims ctrl+e. Everything else is unchanged — see the keybinding reference.
Supported editors
- Visual Studio Code
- Cursor
- Windsurf
Remote/SSH backends of each are detected too. If yours isn't listed, let us know.
Commands and flags
| Description | |
|---|---|
/ide | Check the connection, install the extension if needed, show diagnostics |
/terminal-setup | Install VS Code keybindings (shift+enter, shift+tab) for the integrated terminal |
cmd --ide-setup | Install the extension non-interactively and exit |
Settings
Both live at the top level of ~/.commandcode/config.json — see Settings & Config.
| Key | Default | What it does |
|---|---|---|
ideContextEnabled | true | Whether open-file and selection context is read from the IDE at all |
autoInstallExtension | true | Whether the extension auto-installs on startup inside an IDE terminal |
- Interactive Mode — the session surface the indicators appear in.
- Tools —
get_diagnosticsand the rest of the toolset. - Git Worktrees — run an IDE-connected session in an isolated branch copy.