A thin extension: the kora REPL runs in the integrated terminal of VS Code,
while the extension adds an activity-bar launcher, a session picker,
editor-context injection, and a status bar item. The kora binary is the only
interface — the extension never touches your ~/.kora profile and does not
resolve Node (the launcher does).
The Kora button
The Kora icon in the activity bar (left sidebar) is the direct launcher:
clicking it opens the REPL as a large editor-area tab — app-style, not a strip
at the bottom. Clicking it again focuses the running REPL. The side panel that
comes with it is a control surface: Open REPL, Resume session…, Explain
selection / file, plus the resolved binary path. The REPL itself stays a real
terminal (Kora is a TUI); the panel never wraps or re-renders it.
Requirements
Kora CLI installed (kora on your PATH, or ~/.cargo/bin/kora).
See https://kora-ai.download for the installer.
VS Code 1.85 or later.
Commands
Command
What it does
Kora: Open
opens / focuses the kora REPL in the workspace terminal
Kora: Resume session
QuickPick from your profile's sessions → kora chat <id> in a fresh terminal
Kora: Explain selection
(editor context menu) builds a prompt from the selection and writes it to the composer
Kora: Explain file
passes the file reference — kora reads it with its own tools
The prompt is never submitted automatically: after the injection you press
Enter in the composer. If the terminal has just started, the prompt lands in
your clipboard with a notice — paste it once the composer is ready.
Notes
Automatic binary resolution uses the extension host PATH (GUI apps launched
from the Dock get a reduced PATH): if kora is only reachable from a custom
shell PATH, set kora.binaryPath. The ~/.cargo/bin/kora fallback covers the
standard installation.
Composer "dirty" state is a conservative proxy (it remembers whether we
already injected text into that terminal): if you type directly in the
composer, the extension does not know.
The "binary not found" notification appears once per extension session:
reload the window to see it again after a fix (the kora ⚠ status bar item
stays up to date on every command).
Settings
Setting
Default
Effect
kora.binaryPath
""
binary path override; empty = PATH, then ~/.cargo/bin