VSCode Extension
Overview
The Quarterback VSCode extension brings the full QB experience into your editor. Chat with the LLM, attach files, manage sessions, and get context-aware assistance — all without leaving VSCode.
The extension reuses the same sidecar as the desktop app. QB Desktop must be installed first — the extension uses its sidecar binary.
Prerequisites
- QB Desktop installed (Installation guide)
- VSCode 1.85 or later
- An approved Quarterback account
Download
- Go to the Downloads page
- Scroll to the VSCode Extension section
- Click Download to get the
.vsixfile
Install
- Open VSCode
- Press
Cmd+Shift+P(macOS) orCtrl+Shift+P(Windows/Linux) - Type “Extensions: Install from VSIX…” and select it
- Choose the downloaded
qb-vscode-*.vsixfile - Restart VSCode when prompted
After installation, you’ll see the QB icon in the activity bar (left sidebar) and in the editor title bar.
Sign In
The first time you open a workspace with the extension:
- The extension starts the QB sidecar automatically
- A notification appears: “Sign in to Quarterback” with a device code
- Click Open Browser to authenticate via GitHub
- Once signed in, the chat panel opens automatically
If you’re already signed in via the desktop app and both share the same ~/.qb directory, the extension picks up your existing credentials — no sign-in needed.
Using the Extension
Chat Panel
The chat opens as a full editor tab (like a file). The input area has a card-style layout with:
- Text input — type your message, press Enter to send (Shift+Enter for new lines)
- ”+” attach button — below the textarea, opens a file picker to attach files from your computer
- Tool usage — tool calls appear as collapsible blocks showing what the LLM is doing
- Approval prompts — when a tool needs permission, Allow / Always Allow / Deny buttons appear inline
- Error messages — include actionable suggestions with clickable links (e.g., billing page)
File Attachments
Click the + button below the input to attach files. Supported file types:
| Type | What Happens |
|---|---|
| Images (png, jpg, gif, webp, svg) | Sent as visual context — the LLM can see the image |
| Text files (md, py, ts, json, yaml, etc.) | Content is included directly in the message |
| Other files | Path is shared so the LLM can read it with tools |
Attached files appear as chips above the input. Click x to remove an attachment before sending. Text files are capped at 100KB.
Editor Context
A context bar above the input shows how many files are in context. Click to expand and see the full list. The active file is highlighted.
The extension automatically sends your current editor state with every message:
- Active file — path, language, cursor position
- Selected text — if you have text selected, it’s included as context
- Open tabs — the LLM knows which files you have open
You don’t need to tell the LLM what file you’re looking at — it already knows.
Sessions Sidebar
Click the QB icon in the activity bar to open the sessions panel:
- ”+ New session” — start a fresh conversation context
- Search — filter sessions by name
- Session list — all your sessions with relative timestamps (e.g., “2h”, “3d”). Click to switch.
- Active session — highlighted in the list
- Connection status — green/yellow/red dot at the bottom
The + button in the sidebar title bar also creates a new session.
Org Resolution
The extension reads your workspace’s git remote to determine which organization to use. For example, if your repo is github.com/qtrback/platform, it maps to the qtrback org automatically.
Settings
Configure the extension in VSCode settings (Cmd+,):
| Setting | Description | Default |
|---|---|---|
qb.sidecarPath | Path to sidecar binary | Auto-detected from Desktop install |
qb.qbDir | QB home directory | ~/.qb |
qb.platformUrl | Platform API URL override | Auto-detected |
qb.gatewayUrl | Gateway URL override | Auto-detected |
Updates
The extension checks for updates every 4 hours. When a new version is available, a notification appears with a Download button.
To update manually:
- Go to the Downloads page
- Download the latest
.vsixfile - Install from the terminal:
code --install-extension qb-vscode-<version>.vsix
Or in VSCode: Cmd+Shift+P > “Extensions: Install from VSIX…” > select the file.
Restart VSCode after updating.
Troubleshooting
Extension shows “Disconnected”
- Verify QB Desktop is installed
- Check the QB Sidecar output channel (View > Output > select “QB Sidecar”) for errors
- Try restarting:
Cmd+Shift+P> “QB: Restart Sidecar"
"QB Desktop is required” error
The extension couldn’t find the sidecar binary. Either:
- Install QB Desktop from the Downloads page
- Or set
qb.sidecarPathin settings to point to the sidecar binary
Chat shows “Setting up workspace…”
The extension is still resolving your org and context. Wait a few seconds — check the output channel for progress. If it’s stuck:
- Ensure your git remote maps to an org you have access to
- Check that the org has an active subscription
Billing capacity error
If you see “Your organization has used all of its available capacity,” click the link in the error message to visit the billing page, or go to the web app > your org > Billing to add credits or upgrade your plan.
No response from LLM
Check the QB Sidecar output channel for errors. Common causes:
- Network connectivity issues
- Billing capacity exhausted
- Token expired (restart sidecar to re-authenticate)