Skip to content

VS Code extension

The Nimbus VS Code extension (nimbus-agent.nimbus) connects your editor to the local Nimbus Gateway over JSON-RPC. It exposes the same agent, the same local index, and the same HITL consent gate as the Tauri desktop app — surfaced inside VS Code as a chat side-panel, a set of Command Palette entries, and an inline approval UI.

The extension is available on the VS Code Marketplace and Open VSX, so it works in VS Code, Cursor, and VSCodium without any per-IDE configuration.


Open the Extensions sidebar (Ctrl+Shift+X / Cmd+Shift+X) and search for Nimbus, or install from the terminal:

Terminal window
code --install-extension nimbus-agent.nimbus

Alternatively, use the Marketplace quick-install link: ext install nimbus-agent.nimbus


A running Nimbus Gateway is required. The extension auto-detects the IPC socket path from gateway.json in the platform config directory, or via the platform default. If you have moved the socket, override it with nimbus.socketPath in VS Code settings (see Settings below).


All commands are accessible from the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) under the Nimbus category.

CommandPalette entryDescription
nimbus.askNimbus: AskOpens the chat side-panel. Tokens stream in as the agent responds.
nimbus.askAboutSelectionNimbus: Ask About SelectionPrefills the chat with the current editor selection as context. Requires an active text selection.
nimbus.searchNimbus: SearchOpens a Quick Pick search box across your local Nimbus index.
nimbus.searchSelectionNimbus: Search SelectionUses the current editor selection as the search query. Requires an active text selection.
nimbus.runWorkflowNimbus: Run WorkflowLists saved workflows; select one to run it. HITL consent cards appear inline if any step requires approval.
nimbus.newConversationNimbus: New ConversationResets the chat panel, clearing the current turn history.
nimbus.startGatewayNimbus: Start GatewaySpawns nimbus start if the Gateway is unreachable. Equivalent to enabling nimbus.autoStartGateway.
nimbus.reconnectNimbus: Reconnect to GatewayRe-establishes the JSON-RPC IPC connection. Use this after manually restarting the Gateway.

When the Nimbus agent needs approval to perform a write action (file edit, API call, message send, etc.), a consent request is raised through the same HITL gate used by the Tauri app and the CLI.

  • Chat panel focused — the consent request appears as a card inside the chat panel with Approve and Reject buttons. Approving or rejecting sends the response back to the agent and the workflow continues.
  • Panel hidden or editor not focused — the request falls back to a VS Code information-message toast with the same Approve / Reject buttons. Set nimbus.hitlAlwaysModal = true to render it as a blocking modal instead of a dismissible toast.

A status-bar item in the bottom bar shows:

  • Active profile — the name of the currently active Nimbus profile.
  • Connector health dot — green (all healthy), amber (degraded), or red (error / disconnected).

Click the status-bar item to open the Nimbus output channel (Nimbus: Open Logs), which streams Gateway connection events, IPC errors, and diagnostics at the configured nimbus.logLevel verbosity.

The status bar polls the Gateway every nimbus.statusBarPollMs milliseconds (default 30 000 ms). Reduce the interval to see health changes faster, at the cost of slightly more IPC traffic.


All settings are available in File → Preferences → Settings under the Nimbus section, or directly in settings.json.

SettingTypeDefaultDescription
nimbus.socketPathstring""Override the Gateway IPC socket path. Leave empty to auto-detect via gateway.json or the platform default.
nimbus.autoStartGatewaybooleanfalseWhen true, the extension spawns nimbus start if the Gateway socket is unreachable on startup.
nimbus.statusBarPollMsnumber30000Polling interval in milliseconds for connector health updates. Minimum 5000.
nimbus.transcriptHistoryLimitnumber50How many turns to rehydrate from engine.getSessionTranscript when the Webview reloads (e.g. after window reload). Range 1–500.
nimbus.askAgentstring""Optional default agent name passed to askStream. Leave blank to use the Gateway default.
nimbus.hitlAlwaysModalbooleanfalseWhen true, out-of-chat HITL consent requests render as a blocking modal instead of a non-modal toast.
nimbus.logLevelstring"info"Output channel verbosity. One of error, warn, info, debug. Stream errors always log at error regardless.

Right-clicking on a text selection in the editor opens a context menu with a Nimbus group containing two entries:

  • Ask About Selection — opens the chat panel with the selection pre-filled.
  • Search Selection — runs a Nimbus index search for the selected text.

Both entries are only visible when there is an active text selection (editorHasSelection).