Kiln for VS Code
Kiln for VS Code brings your Kiln 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 Kiln view at all times.
|
Kiln 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 Kiln account, metered in credits |
your own API keys, or Kiln credits |
| Runs commands |
no |
yes, without individual approval |
| Limits |
the platform's guardrails |
none beyond your provider's |
Requirements
- Visual Studio Code 1.85 or later.
- A Kiln account, for working on Kiln 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 Kiln.
Getting started
The quickest route is Open in VS Code, available from the ⋯ menu on any
project in your Kiln dashboard. It installs nothing further, prompts for a
destination folder, and downloads the project.
To connect manually:
- Run Kiln: Sign In from the Command Palette
(Ctrl+Shift+P or ⌘+⇧+P).
An access token is recommended over an email and password: it is named,
can be given an expiry, and can be revoked independently, so a lost machine
costs you the machine rather than the account.
- Run Kiln: Open Project… and choose a project and a destination.
- Edit the files as you would any other project, then run Kiln: 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 a Kiln project
Pushes create versions, never overwrites. Every push is stored as a new
version with a label, reachable from Kiln: 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. Kiln: 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 a Kiln project, the assistant becomes a direct coding
agent. The differences are material and worth stating plainly.
- Requests go straight to the model provider. The Kiln server is not in the
request path, and nothing you send reaches it.
- There is no staging step. Files are created and modified immediately, and
shell commands are executed without individual confirmation. Use this mode on
folders where that is appropriate.
- 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. Kiln: New Chat starts a fresh thread and
Kiln: Chat History… lists previous ones.
- Kiln 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 Kiln never sees the conversation, whereas a credits request
is routed through Kiln's 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.
Commands
All commands are available from the Command Palette under the Kiln category.
| Command |
Description |
| Sign In |
Connect the editor using an access token or account credentials |
| 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 a Kiln 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 Kiln 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 Kiln instance, including the API path |
Set kiln.api only when running a self-hosted instance:
// settings.json
"kiln.api": "https://your-instance/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 Kiln.
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 Kiln.
In Kiln project mode, project contents and conversations are held by your
Kiln 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 Kiln: 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.