Skip to main content

VS Code Extension

VibeControls brings your agents, vibes, sessions, sandboxes, AI assistants, and Vibe Decks into VS Code so the work you do every day never leaves your editor.

Features

  • Bind a folder to a vibe — open a project, see "Vibe: my-project" in the status bar, with sessions/notes/deck buttons one click away
  • Open a remote session in an editor terminal — interactive PTY, attaches to any tmux / wezterm / zellij / SSH session on any agent in your workspace
  • Send the current selection to AI — captures file path + language id and pipes it into the AI Hub with active-vibe context
  • Copy a signed LLM Context URL — paste a governed slice of your project into Claude Code, Cursor, ChatGPT, or any MCP-compatible tool
  • Fire Vibe Deck buttons — one-click run a script, command, or webhook on the agent without leaving VS Code
  • Watch your fleet — agents, sessions, tunnels, sandboxes, notes, targets all live in the side bar with live counts in the status bar

Install

Install from the VS Code Marketplace or sideload a local build:

git clone https://github.com/algoshred/vibecontrols-code-extension.git
cd vibecontrols-code-extension
bun install
bunx @vscode/vsce package # produces vibecontrols-<version>.vsix
code --install-extension vibecontrols-<version>.vsix

Environment selection

The extension resolves GraphQL endpoints, OIDC issuer, and dashboard URLs from BURDENOFF_ENV:

BURDENOFF_ENV=local   # http://127.0.0.1:4003 / http://127.0.0.1:4000
BURDENOFF_ENV=alpha # alphagraphqlworkspaces / alphagraphql / alphaapp.vibecontrols.com
BURDENOFF_ENV=prod # graphqlworkspaces.burdenoff.com / graphql.burdenoff.com (default)

When BURDENOFF_ENV is unset or invalid, the extension defaults to prod so Marketplace installs work without configuration.

VS Code settings under vibecontrols.* override the env-derived defaults. Local development is usually:

BURDENOFF_ENV=local code .

Configuration

The extension reads from VS Code settings (vibecontrols.*):

SettingDefaultDescription
vibecontrols.workspaceEndpointenv-derivedWorkspace gateway GraphQL endpoint. Settings override BURDENOFF_ENV.
vibecontrols.globalEndpointenv-derivedGlobal gateway GraphQL endpoint. Settings override BURDENOFF_ENV.
vibecontrols.oidcIssuerenv-derivedOIDC issuer URL. Settings override BURDENOFF_ENV; auto-derived from Global Endpoint if empty.
vibecontrols.clientIdbuilt-inOAuth 2.0 client ID (uses built-in default if empty)
vibecontrols.workspaceIdWorkspace ID (auto-set after login)
vibecontrols.defaultAgentDefault agent ID for quick operations

Self-hosted Burdenoff customers can point these settings at their own gateway URLs.

Build

bun install
bun run build # production webpack build
bun run build:dev # development build
bun run dev # watch mode

bun run build emits dist/extension.js and the webview bundles under webview-ui/dist/.

Test

bun run compile        # compile src
bun run compile:test # compile tests
bun run lint # ESLint
bun run typecheck # tsc --noEmit
bun run test # full VS Code extension-host test suite
bun run smoke:build # verify build artifacts exist and are non-empty
bun run sanity # all checks (lint + typecheck + compile + build + compile:test + test)

On Linux without a display, the test runner skips the extension-host suite unless VIBECONTROLS_FORCE_EXTENSION_TESTS=true is set. In CI or with xvfb:

xvfb-run -a env VIBECONTROLS_FORCE_EXTENSION_TESTS=true bun run test

Open the repo in VS Code and press F5 to launch the Extension Development Host with the latest source.

Commands

The command palette exposes production commands grouped by domain. Top-of-mind ones:

CommandShortcutWhat it does
VibeControls: Quick PickCtrl+Shift+VFuzzy palette across vibes / sessions / agents / decks
VibeControls: Open Vibe DeckCtrl+K Ctrl+DOpens the active vibe's deck
VibeControls: Open AI HubCtrl+K Ctrl+AOpens the AI hub panel
VibeControls: Send Selection to AIPipes the editor selection into the AI hub
VibeControls: Copy LLM Context URLMints + copies a signed context URL for the active vibe
VibeControls: Bind Folder to VibeLinks the open VS Code folder to a vibe
VibeControls: Sign In / Sign Out / Switch WorkspaceAuth flows
VibeControls: Refresh AllReloads every tree view

Run VibeControls: … in the command palette to see the full list.

Troubleshooting

  • "Agent unreachable" when opening a terminal → agent is offline, tunnel revoked, or your network blocks the agent host. The extension surfaces a deep-link to the web app session viewer as a fallback.
  • Tree views empty after sign-in → run VibeControls: Refresh All; if still empty, your workspace token may be missing — VibeControls: Switch Workspace re-mints it.
  • Build/dev: run bun install && bun run sanity in the repo root.
  • Logs: View > Output > VibeControls for extension host logs; webview-side errors land in the panel's DevTools.

Source

  • Repository: github.com/algoshred/vibecontrols-code-extension
  • Published on the VS Code Marketplace

Next steps