VS Code Extension
The InsightWorker VS Code extension brings the agent into your editor — chat panel on the right, code edits applied directly to files, terminal commands proposed inline.
Install
Two paths:
From the VSIX (current)
- Download the latest VSIX:
curl -fLo ~/Downloads/insightworker-vscode-latest.vsix \ https://insightworker.com/releases/insightworker-vscode-latest.vsix - Install it:
or in VS Code: Extensions →code --install-extension ~/Downloads/insightworker-vscode-latest.vsix…menu → Install from VSIX… - Reload the window (
Cmd+Shift+P→ Developer: Reload Window)
From source (development)
git clone https://github.com/<org>/insightworker
cd insightworker/desktop-vscode
npm install
npm run package
# Produces dist/insightworker-vscode-x.x.x.vsix in the same dir
code --install-extension dist/insightworker-vscode-*.vsix
First-time setup
On install, the extension auto-installs the insightworker CLI binary if it's not on your PATH. You can also install it manually:
npm install -g @verticalserve/insightworker
It then asks you to provide credentials for an LLM provider. The simplest paths:
- Bedrock — most enterprise users; see authentication/aws-sso.md
- OpenAI — fastest to try; just an API key, see providers/openai.md
- Custom on-prem GPU — see providers/custom-openai-compatible.md
Settings are read from ~/.insightworker/.env. If the file doesn't exist, the extension's onboarding panel walks you through creating it.
Layout
After install, two surfaces show up:
- Activity bar icon (left rail) → opens the InsightWorker chat panel
- Editor pane → click the InsightWorker icon at the top right of the editor for the inline mode (acts on the current file)
The chat panel docks to the right by default. If it lands on the left, use View → Move View → Right, or close and reopen via Cmd+Shift+P → InsightWorker: Open Chat.
Using chat
- Type questions and tasks in the chat textarea —
Cmd+Enter(orCtrl+Enter) to send. - Reference an App with
@or#— typing either character after a word boundary pops up a picker listing every App bundle in the workspace (anything with anapp.yaml). Pick one with↑/↓ Enter. At send time,@slugrewrites to/app run <slug>so the CLI handles it deterministically instead of letting the LLM improvise. - Copy button on code blocks — every fenced code block in the agent's response gets a "Copy" button on hover. Click once, it flashes green, your clipboard has the snippet.
- Tool calls shown inline — each
bash/write_file/ etc. call renders as a one-line summary with the most useful field (command, path, pattern). Click Details to expand the full JSON input. - Working spinner — a braille-character spinner (
⣾⣽⣻⢿⡿⣟⣯⣷) ticks alongside any active tool call; same frames as the CLI so the experience feels continuous between surfaces. - Stop: press
Escor the stop button to interrupt mid-run.
Apps in workspace
The sidebar's Apps in workspace tree lists every folder containing an app.yaml. The tree refreshes live as you scaffold new apps with /app create or pull existing ones with /app pull.
- Click an App → opens its
app.yamlin the editor. - Right-click → Run App (Widget UI) → runs
insightworker -c "/app run <slug> --ui"in a fresh terminal; the per-app widget server starts and your browser opens athttp://localhost:8765(or next free port). - Right-click → Validate App Bundle → checks the bundle against the §15 spec.
- Right-click → Publish App to S3 → uploads the bundle to your configured app store (
IW_APP_STORE).
Tool approval flow
When the agent wants to:
- Edit a file → diff renders inline; you click Apply or Reject
- Run a terminal command → the command shows in a panel; you click Run or Cancel
- Read a file → no approval needed (read-only)
You can pre-approve specific tools (or "all reads") in settings to skip the prompts. See permissions-and-safety/auto-approve-tools.md.
Settings
Open: Cmd+, → search "InsightWorker".
| Setting | Description |
|---|---|
insightworker.cliPath | Path to the insightworker binary if not on PATH |
insightworker.workingDirectory | Override the working dir (default: workspace root) |
insightworker.autoApprove | Comma-separated tool names to skip approval for |
insightworker.dockSide | right (default) or left |
insightworker.spinnerStyle | braille (default) or dots |
Status bar
Bottom-right shows:
- Model in use (e.g.
gpt-5orclaude-sonnet-4-5) - Tokens used this session
- Provider status — green if last call succeeded, red if last call errored
Click the status bar item to open the session log.
See also
- troubleshooting.md — common errors
- authentication/aws-sso.md — AWS SSO setup for the extension
- permissions-and-safety/auto-approve-tools.md — control approval prompts
Source: docs/vscode-extension/overview.md in the public repo. Open a PR with corrections.
