VibeControls for VS Code
The Agentic Engineering IDP for AI-Native teams — right inside your editor.
VibeControls brings your agents, vibes, sessions, sandboxes, AI assistants, and Vibe Decks into VS Code so the work you do every day — write code, attach to a remote session, kick off an AI task, copy a signed context URL — never leaves your editor.
This extension is the in-editor companion to the VibeControls web app. It is intentionally complementary, not a replacement: heavy admin (catalog, audit deep-dives, scheduled tasks, plugin install, topology graphs) stays in the web app where those flows belong; this extension covers the moments where you're already in code.
What this extension is for
- 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
If you're brand new to VibeControls, start at vibecontrols.com — install the agent, sign in to your workspace, then come back here.
Quick start
- Install the extension from the VS Code Marketplace (or sideload the latest
.vsix).
- Run
VibeControls: Sign in from the command palette (Cmd/Ctrl+Shift+P).
- A browser opens for OAuth device-code login; pick your workspace.
- The VibeControls activity-bar icon lights up — open it.
- From any tree view, right-click an item for available actions, or use the inline buttons that appear on hover.
- Open a folder that matches an existing vibe's path → status bar shows "Vibe: ✓".
Features
Sign-in and workspaces
- OAuth device-code + PKCE flow (uses
vscode.SecretStorage — tokens never hit settings)
- Multi-workspace support: switch with
VibeControls: Switch Workspace
- Token auto-refresh; signs you out gracefully on token revocation
Agents and targets
- See every agent in your workspace with live health, last-seen, and connectivity
- Create new DIRECT or SSH targets; bootstrap an agent on a remote host
- Run a
probeAgentConnection health check before opening a session
- Open the workspace's Agent Graph in the web app for the full topology view
Vibes
- Browse all vibes in the workspace; archive / restore inline
- Bind to current folder — links the open VS Code folder to a vibe; reflected in status bar
- Open vibe detail panel for sessions / notes / deck / env / git tabs
Sessions
- Create a session on any agent + provider (tmux, wezterm, zellij, SSH, custom)
- Open in editor terminal — interactive PTY relays keystrokes + resize signals via WebSocket
- Start / stop / restart / share inline buttons on every session
- Generate share links with expiry; teammates can attach from anywhere
AI Hub and Plan mode
- Open the in-editor AI Hub panel — multi-provider routing (Anthropic, OpenAI, Gemini, OpenRouter, …) with BYOK
- Send Selection / Send File commands include active-vibe context
- Switch between AI mode and Plan mode from the same panel
LLM Context (signed URLs)
- One command (
VibeControls: Copy LLM Context URL) generates a signed, scoped URL for the active vibe
- Paste into Claude Code, Cursor, ChatGPT — any tool that can fetch a URL
- Every fetch is audited; tokens are revocable from the web app
Vibe Deck
- One-click buttons for scripts, commands, and webhooks
- Create + edit decks from the editor; share with teammates
Notes
- Create notes from the editor and pin them; full editing lives in the web app
Tunnels
- Inline create / stop / copy URL / open in browser on every tunnel
- Provider-aware (Cloudflare, VibeTunnels)
Sandboxes
- Read-only list view; full lifecycle in the web app sandbox dashboard
Status bar
- Active workspace, active vibe, agent count, session count, tunnel count — all live
Commands
The command palette exposes ~44 production commands grouped by domain. Top-of-mind ones:
| Command |
Shortcut |
What it does |
VibeControls: Quick Pick |
Ctrl+Shift+V |
Fuzzy palette across vibes / sessions / agents / decks |
VibeControls: Open Vibe Deck |
Ctrl+K Ctrl+D |
Opens the active vibe's deck |
VibeControls: Open AI Hub |
Ctrl+K Ctrl+A |
Opens the AI hub panel |
VibeControls: Send Selection to AI |
— |
Pipes the editor selection into the AI hub |
VibeControls: Copy LLM Context URL |
— |
Mints + copies a signed context URL for the active vibe |
VibeControls: Bind Folder to Vibe |
— |
Binds the current workspace folder to a vibe |
VibeControls: Sign In / Sign Out / Switch Workspace |
— |
Auth flows |
VibeControls: Refresh All |
— |
Reloads every tree view |
Run VibeControls: … in the command palette to see the full list.
What this extension doesn't do
By design, these belong in the web app:
- Workspace catalog management (components, services, dependency graphs)
- Audit log deep-dives and compliance exports
- Webhook CRUD UI
- Calendar / scheduled-task editing
- Topology / Agent-Graph visualization
- Plugin install (use
vibe plugin install on the agent)
- Workspace configuration editor
- Sandbox templates and detailed lifecycle
- One-time setup wizards
Every relevant tree item carries an Open in Web App action that deep-links to the matching web view.
Configuration
The extension reads from VS Code settings (vibecontrols.*):
| Setting |
Default |
Description |
vibecontrols.gateway.workspace |
https://graphqlworkspaces.burdenoff.com |
Public workspace gateway URL |
vibecontrols.gateway.global |
https://graphql.burdenoff.com |
Public global gateway URL |
vibecontrols.activeVibeId |
— |
Stored per workspace, written by the folder-binding flow |
vibecontrols.telemetry.enabled |
true |
Anonymous usage metrics; respects telemetry.telemetryLevel |
Self-hosted Burdenoff customers can point these settings at their own gateway URLs.
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.
Development
bun install
bun run dev # Watch mode
bun run build # Production build
bun run typecheck # tsc --noEmit
bun run lint # ESLint
bun run sanity # All checks (lint + typecheck + build + test)
bunx @vscode/vsce package # Produce .vsix
Open the repo in VS Code and press F5 to launch the Extension Development Host with the latest source.
Contributing
See CONTRIBUTING.md. Run bun run sanity before every PR.
License
Proprietary — Burdenoff Consultancy Services Pvt. Ltd. See LICENSE.
Links