Lime is an AI coding assistant that lives where you work. A streaming
chat sidebar with the full agentic loop, editor surfaces (Code Actions,
CodeLens, SCM, inline completions), and a terminal companion for running
lime in your shell while VS Code handles diff review.
Quick start
- Install the engine. The extension talks to a local
limebinary over stdio — install it once and put it on yourPATH. The Get started with Lime walkthrough has download links and tells you how to point the extension at a custom path. - Open the Lime sidebar from the Activity Bar (the lime tile).
- Send a message. The first message lazily spawns the engine; from there you have streaming markdown, slash commands, file mentions, permission prompts, session history, and fork.
You can also keep using lime in the terminal — VS Code will detect it
and route diff review, selection context, and diagnostics to the editor
automatically.
What you get
Chat sidebar
- Streaming markdown with VS Code-themed syntax highlighting.
/slashautocomplete sourced live from the engine.@filementions backed byvscode.workspace.findFiles.- Permission prompts with rule-pattern picker — pick
bash(git:*)orwrite_file(src/*), not just the bare tool name. - Session list, continue, fork (with optional branch name).
- Tool-call cards updated in place when results land.
bash/bash_sessionoutput renders in a real VS Code Pseudoterminal with ANSI colors and native scrollback.
Editor surfaces
- Code Actions on diagnostics ("Ask Lime to fix") and selections ("Refactor with Lime", "Explain selection").
- CodeLens above functions — Explain · Test · Refactor (off by
default; flip
lime.codeLens.enabled). - Source Control group "Edited by Lime" tracking files the agent
touched in the current session, with one-click diff vs
HEAD. - Inline completions via a fast single-shot bridge RPC (off by default).
Copilot Chat integration
@limechat participant in the built-in VS Code Chat panel (off by default; requires GitHub Copilot Chat).- Read-only Lime tools (
lime_grep,lime_glob,lime_read,lime_lsp) registered asvscode.lmtools so other Copilot agents can call them.
MCP
- Lime's configured MCP servers are surfaced to VS Code via the
McpServerDefinitionProviderAPI — Copilot Chat sees the same catalog without duplicating.vscode/mcp.json.
IDE companion (terminal users)
- Per-window WebSocket server, lockfile-discovered by the
limeCLI. - Bearer-token gated upgrade, localhost-only.
- The CLI delegates diff review, selection access, and diagnostics to VS Code via the registered MCP tools.
Requirements
- VS Code 1.95 or newer.
- A local
limebinary (the extension does not bundle one). The walkthrough has install instructions; you can also point at any custom path vialime.engine.path.
Settings
| Setting | Default | What it does |
|---|---|---|
lime.engine.path |
lime |
Path / PATH name of the engine binary |
lime.engine.extraArgs |
[] |
Extra args inserted before bridge |
lime.engine.cwd |
(empty) | Working directory for the engine |
lime.codeLens.enabled |
false |
Show Explain/Test/Refactor lenses |
lime.editorActions.autoSend |
true |
Auto-send code-action prompts vs. drop into composer |
lime.inlineCompletions.enabled |
false |
Enable Lime as an inline completion provider |
lime.inlineCompletions.debounceMs |
300 |
Inline completion debounce window |
lime.chat.participantEnabled |
false |
Register @lime in Copilot Chat |
lime.mcp.shareWithEditor |
true |
Surface lime's MCP servers to VS Code |
lime.telemetry.enabled |
true |
Honor #telemetry.telemetryLevel# for Lime events |
lime.ide.companionEnabled |
true |
Expose the editor to a CLI lime over WS |
lime.diff.autoCloseOnAccept |
true |
Close the proposed-edit diff tab on save/reject |
lime.bridge.serverUrl |
(empty) | WebSocket URL for VS Code for the Web |
Privacy & telemetry
Telemetry is double-gated: the global VS Code
#telemetry.telemetryLevel# setting and lime.telemetry.enabled must
both be on. Events carry counts, durations, status enums, and tool
families — never prompts, file contents, paths, session IDs, model
IDs, or tool arguments / outputs.
Open the Lime output channel to see exactly what would be sent.
Trust model
The extension declares limited support for both untrusted and virtual workspaces:
- In an untrusted workspace Lime still works, but
lime.ide.lockfileDiris restricted because it can change where the companion publishes its lockfile. - In a virtual workspace the companion is disabled (it requires a local CLI process).
Edits and shell commands run through the engine and are gated by the permission prompt; nothing escapes the agent loop unconfirmed.
Support
Use the Q&A tab on this extension's Marketplace page for questions and feedback.
License
MIT — see the bundled LICENSE file.