Qadenza for VS Code
Use the models running on your Qadenza servers as a coding agent inside
VS Code: ask about the codebase, have the agent search and read the source,
make changes under your approval, run the tests, and review every edit as a
diff before keeping it.
Inference runs on your own hardware, reached through the Qadenza relay. The
extension never sends your workspace anywhere except to the model you chose:
files are read, searched and edited locally, and only the conversation (with
the file excerpts the agent reads) goes to the relay.
Setup
- Install the extension (from the Marketplace, or
Extensions: Install from VSIX… with a downloaded .vsix).
- Open the Qadenza view in the activity bar and click Sign in. A
dashboard tab opens showing a code; approve it there. The extension
receives a token that you can revoke at any time under
Settings → API access in the dashboard.
- Pick a model. The list is what is loaded on your online servers; load and
unload models from the dashboard's Models page.
Self-hosted stacks: set qadenza.apiUrl to your API. The relay URL is learned
at sign-in; qadenza.relayUrl overrides it.
Using the chat
- Sidebar or editor tab. The chat lives in the activity bar. Open Chat in
Editor Tab (the button in the editor toolbar and in the view's title bar,
or
Ctrl+Alt+Shift+Q) opens the same session in a tab you can dock beside
your code. Both stay in sync.
- Mention files with
@. Type @ in the message box to search the
workspace and press Enter or Tab to insert @path/to/file.ts. Add a line
range with @path/to/file.ts:10-20. Mentioned files are attached to your
message, so the model sees them without spending a tool call. Paths with
spaces are quoted: @"my dir/file.ts". Only files inside the workspace are
attached; anything else stays plain text.
- Mention the selection.
Alt+K (Cmd+Alt+K on macOS) inserts the
current file, or the selected lines, as an @ mention and focuses the box.
- Move between editor and chat.
Ctrl+Alt+Q (Cmd+Alt+Q) opens the
chat; pressed again from inside it, it returns to the editor.
- The status bar item shows the model and mode, spins while the agent works,
and opens the chat when clicked.
Modes
| Mode |
Reads |
File edits |
Commands |
| Chat only |
always |
never |
never |
| Ask before edits (default) |
always |
ask |
ask |
| Agent edits allowed |
always |
automatic |
ask |
| Edits + safe commands |
always |
automatic |
allowlisted run; others ask |
The allowlist (qadenza.commands.allowlist) is matched on whole words at the
start of the command; anything that chains commands or redirects output asks.
Destructive commands (forced deletes, force pushes, privilege escalation, …)
always ask, even when allowlisted, and are flagged in the prompt.
Every file the agent changes is listed in the view with a diff, and can be
kept or reverted per file or all at once. The agent edits the editor's buffer,
so your own unsaved changes are the base it works from and are restored on
revert.
Repository instructions
Put guidance for the agent in AGENTS.md or .qadenza/agent.md at the root
of the workspace: build and test commands, layout, conventions, files that are
generated. It is included in the system prompt beneath the product's own
rules; it cannot widen what the agent is allowed to do.
Qadenza: Initialize Project Instructions (.qadenza) creates
.qadenza/agent.md from a template and can ask the agent to fill it in from
your repository. The extension only creates .qadenza/ when you run that
command; it does not store sessions or settings there. If AGENTS.md or a
.qadenza file already exists, the command opens it instead.
Commands
Qadenza: Open Coding Agent · New Agent Session · Ask About Selection ·
Ask About Current File · Fix Selected Code · Explain Selected Code ·
Add Selection to Context · Mention Selection in Chat ·
Open Chat in Editor Tab · Initialize Project Instructions (.qadenza) ·
Select Model · Select Agent Mode ·
Stop Agent · Review Agent Changes · Accept All Agent Changes ·
Reject All Agent Changes · Sign In · Sign Out · Show Logs
Right-click in an editor for the Qadenza submenu.
Install a build yourself
Before it is on the Marketplace, or to try a change, build the extension and
install it into your own VS Code. From this folder (vscode/ in the
repository), with Node.js 20 or later:
npm ci
npm run package
code --install-extension qadenza-0.1.0.vsix --force
npm run package checks the code (types, lint, tests) and writes
qadenza-<version>.vsix. Without the code command on your PATH, open VS
Code's Extensions view, choose … → Install from VSIX…, and pick that
file. Reload the window when VS Code asks, then follow Setup above.
To sign in to a stack other than production, set qadenza.apiUrl in VS Code's
settings before you sign in.
Development
npm ci
npm run watch # rebuild on change; press F5 in VS Code to launch
npm run check # typecheck, lint, unit tests, build
npm run package # produce qadenza-<version>.vsix
Unit tests (npm test) cover the modules that do not touch the editor:
SSE parsing and tool-call assembly, the agent loop, the path and command
policies, patching, permissions, context budgeting, and session storage.
See docs/VSCODE-AGENT.md in the repository for the architecture.