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

  1. Go to the Downloads page
  2. Scroll to the VSCode Extension section
  3. Click Download to get the .vsix file

Install

  1. Open VSCode
  2. Press Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux)
  3. Type “Extensions: Install from VSIX…” and select it
  4. Choose the downloaded qb-vscode-*.vsix file
  5. 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:

  1. The extension starts the QB sidecar automatically
  2. A notification appears: “Sign in to Quarterback” with a device code
  3. Click Open Browser to authenticate via GitHub
  4. 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:

TypeWhat 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 filesPath 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+,):

SettingDescriptionDefault
qb.sidecarPathPath to sidecar binaryAuto-detected from Desktop install
qb.qbDirQB home directory~/.qb
qb.platformUrlPlatform API URL overrideAuto-detected
qb.gatewayUrlGateway URL overrideAuto-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:

  1. Go to the Downloads page
  2. Download the latest .vsix file
  3. 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.sidecarPath in 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)