AddisLabs for VS Code
AddisLabs for VS Code brings your AddisLabs projects into the editor and adds a coding
assistant that works on any folder on your machine.
The extension operates in two distinct modes, determined by the folder you have
open. Which mode applies is stated in the AddisLabs view at all times.
|
AddisLabs project |
Any other folder |
| Identified by |
a .kiln/manifest.json in the folder |
the absence of one |
| Changes are |
staged, reviewed, then stored as a version |
written directly to disk |
| Model access |
your AddisLabs account, metered in credits |
your own API keys, or AddisLabs credits |
| Runs commands |
no |
yes — asks first in Manual, the default mode |
| Limits |
the platform's guardrails |
none beyond your provider's |
Requirements
- Visual Studio Code 1.85 or later.
- An AddisLabs account, for working on AddisLabs projects.
- For the direct assistant, an API key from any supported provider. Keys are
stored in the editor's secret storage and are never transmitted to AddisLabs.
Getting started
The quickest route is Open in VS Code, available from the ⋯ menu on any
project in your AddisLabs dashboard. It installs nothing further, prompts for a
destination folder, and downloads the project.
To connect manually:
- Run AddisLabs: Sign In from the Command Palette
(Ctrl+Shift+P or ⌘+⇧+P).
Your browser opens on AddisLabs; sign in there if you are not already, check
that the page shows the same code as the editor, and press Allow. The
editor gets a sign-in of its own, listed under Settings → Signed-in apps,
where it can be signed out without touching anything else. On a machine with
no browser, AddisLabs: Sign In with an Access Token takes a token instead.
- Run AddisLabs: Open Project… and choose a project and a destination.
- Edit the files as you would any other project, then run AddisLabs: Push
Project, or use the status bar.
A downloaded project is an ordinary static site — pages, styles/, scripts/,
a README.md and a package.json. npm run dev in that folder serves it.
Working on an AddisLabs project
Pushes create versions, never overwrites. Every push is stored as a new
version with a label, reachable from AddisLabs: Show Version History… here and
from the project's history in the browser.
Changes can be read before they are sent. The push dialog offers a diff
against what is stored at that moment, rather than against the copy you
originally downloaded — the two differ precisely when a collaborator has been
working, which is when it matters.
The assistant proposes; you accept. AddisLabs: Open Assistant reads the
project first, including which files are shared between pages, then proposes an
edit. Nothing is stored until you accept it, at which point it lands as a single
labelled version through the same path as your own pushes.
Conversations are shared with the browser. The thread lives on the server,
so it is the same conversation in the editor and in the web app. Closing the
panel mid-response does not interrupt it.
Guardrails are enforced by the server. The rules governing what may be
stored do not live in this extension, so a defect here cannot damage a project.
Working on any other folder
In a folder that is not an AddisLabs project, the assistant becomes a direct coding
agent. The differences are material and worth stating plainly.
Requests go straight to the model provider. The AddisLabs server is not in the
request path, and nothing you send reaches it.
There is no staging step. Files are created and modified directly on
disk. What the assistant may do without asking depends on the mode, chosen
in the panel:
- Plan reads and plans. It is not offered the tools that change anything.
- Manual, the default, asks before every change and every command.
- Auto works on its own and asks only before a command that reaches the
network, deletes in bulk, installs software, runs as another user,
publishes, discards uncommitted work, or changes the system outside the
folder.
Writing outside the open folder asks in every mode.
There are no imposed limits — no round cap, token ceiling, or command
timeout. Your provider's limits and your own balance apply.
Every action is visible, and Stop is immediate. Each tool call appears as
it happens, the running cost of the session is shown in the header, and Stop
aborts the request, ends the loop, and terminates any running command.
Conversations are retained per folder, stored locally under the
extension's own storage. AddisLabs: New Chat starts a fresh thread and
AddisLabs: Chat History… lists previous ones.
AddisLabs credits are available as an alternative to your own keys. When you
are signed in, the model picker offers them alongside your providers. The
distinction is shown where the choice is made: your own key goes directly to
the provider and AddisLabs never sees the conversation, whereas a credits request
is routed through AddisLabs' server.
Supported models
Anthropic Claude, OpenAI GPT, DeepSeek, and Moonshot Kimi are supported
directly. Google Gemini, xAI Grok, Mistral, Meta Llama and Qwen are available
through a single OpenRouter key. Each model is listed with its provider's
published rate, and the session cost meter uses those rates.
The assistant can use tools from MCP servers you name in kiln.mcpServers.
Each one is a process started on this machine, and nothing connects unless
you add it. Tool names are prefixed with the name you give the server, so
blender offers blender__get_scene_info and similar.
// settings.json
"kiln.mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"],
"env": { "DISABLE_TELEMETRY": "true" }
}
}
- Tools are offered only while a folder is open.
- Manual asks before each server tool and shows the arguments in full —
for Blender, the Python it is about to run. Auto runs them without
asking. Plan offers only the tools the server marks as read-only.
- Results are text. A picture a tool returns is not passed to the model, and
the model is told so. Answers over 24,000 characters are trimmed, with a
note saying so.
- If a server advertises tools that control data collection, the AddisLabs
output panel says so when it connects.
A step-by-step Blender walkthrough is in docs/BLENDER-GUIDE.md in the AddisLabs
repository.
Commands
All commands are available from the Command Palette under the AddisLabs category.
| Command |
Description |
| Sign In |
Sign the editor in through your browser |
| Sign In with an Access Token |
Sign in on a machine with no browser, using a token from Settings |
| Sign Out |
Remove stored credentials from this machine |
| Open Project… |
Choose a project, select a folder, and download it |
| Add Folder to Account |
Take an existing local folder and make it an AddisLabs project |
| Open Assistant |
Open the assistant for the current folder, in the appropriate mode |
| New Chat |
Begin a new conversation in the direct assistant |
| Chat History… |
List previous conversations for the current folder |
| Push Project |
Save all files and store them as a new version |
| Pull Latest Version |
Update the folder from the server |
| Show Local Changes |
List modified files in the AddisLabs output channel |
| Review Changes… |
Open each change as a diff against the stored version |
| Show Version History… |
Browse stored versions and restore an earlier one |
| Set Model API Key… |
Store a provider key in the editor's secret storage |
| Report a Problem… |
Compose a report with versions and logs, shown before sending |
The status bar displays the current project, its version, and the number of
modified files.
Configuration
| Setting |
Default |
Description |
kiln.api |
the hosted service |
Base URL of the AddisLabs instance, including the API path |
kiln.mcpServers |
none |
Tool servers to connect over MCP — see Tool servers above |
Leave kiln.api unset. It exists for developing against a local AddisLabs:
// settings.json
"kiln.api": "http://localhost:5000/api/v2"
Data handling
API keys are held in the editor's secret storage. They are never written to
disk in plain text, never recorded in logs, and never sent to AddisLabs.
In direct mode, conversations and file contents are sent only to the model
provider whose key you supplied. They are stored locally and are not
transmitted to AddisLabs.
In AddisLabs project mode, project contents and conversations are held by your
AddisLabs account, as they are when using the web application.
Safeguards
- Pushes create versions; the history is preserved and reachable.
- Restoring an earlier version discards nothing — later versions remain.
- Pulling over unsaved work stops and reports how many files are affected. The
option that preserves your work is always the default.
- Every refusal offers the route through it, and the overriding choice is never
the default.
- A compiled React tree cannot be pushed, as its pages are generated from the
static source and storing them back would overwrite the originals.
Support
Use AddisLabs: Report a Problem…, which assembles the relevant versions and logs
and shows you the report before anything is sent.
Licence
Released under the MIT Licence.