Skip to Content
Install Kora

Installation

Kora 0.0.2 is available as a command-line tool, a VS Code extension, a Homebrew formula, an npm package, and downloadable release archives. Pick one route below. All routes install the same Kora version when you pin a release.

Quick install: Homebrew

macOS and Linux users can install the CLI from the Kora tap:

brew tap ImAbhishekTomar/tap brew install imabhishektomar/tap/kora kora --version

To update later:

brew update brew upgrade kora

On Apple Silicon, run Homebrew in ARM mode if your terminal is running under Rosetta:

arch -arm64 brew install imabhishektomar/tap/kora

Quick install: npm

The npm package installs the correct release binary for macOS, Linux, or Windows:

npm install -g @abhishektomar/kora-cli kora --version

For a project-local install:

npm install --save-dev @abhishektomar/kora-cli npx kora --version

When using pnpm, pnpm may ask you to approve the package install script. This script is required because it downloads the platform-specific Kora binary:

pnpm add -D @abhishektomar/kora-cli pnpm approve-builds pnpm rebuild @abhishektomar/kora-cli pnpm exec kora --version

Select @abhishektomar/kora-cli in the approval prompt. The warning about deprecated subdependencies does not come from Kora’s source code.

Install the VS Code extension

Install Kora Language from the VS Code Marketplace .

The extension provides .ko file recognition, syntax highlighting, Kora file icons, diagnostics, completion, hover information, go-to-definition, a debugger, and run and test commands. Install the CLI separately using Homebrew, npm, a release archive, or source so the editor can run and debug your programs.

After installing both pieces:

  1. Open a Kora project in VS Code.
  2. Open a .ko file.
  3. Use the play button or the command palette command Kora: Run Current File.
  4. Press F5 to debug the file: set breakpoints in the gutter, then step through with the debug toolbar.
  5. Set kora.serverPath if the kora executable is not on your PATH. The same setting points at the language server and the debug adapter.

Quit and reopen VS Code after installing the extension. VS Code reads an extension’s contributions once, at startup, so until it restarts the gutter will refuse breakpoints on .ko files and F5 will offer to find a Kora extension in the Marketplace. A window reload is not enough.

Run kora | grep "kora dap" to confirm the binary the editor will use can debug. If it prints nothing, that kora predates the debugger — set kora.serverPath to an absolute path rather than reordering your PATH.

Download a release archive

Open the Kora releases page  and download the archive for your operating system and CPU. Releases currently include macOS Intel, macOS Apple Silicon, Linux x64, Linux ARM64, and Windows x64 builds. Each release includes SHA256SUMS for verification.

For macOS or Linux, the installer script detects your platform and verifies the archive checksum:

curl -fsSL https://raw.githubusercontent.com/ImAbhishekTomar/kora-lang/main/scripts/install.sh | sh kora --version

Pin a particular version or choose a custom installation directory:

curl -fsSL https://raw.githubusercontent.com/ImAbhishekTomar/kora-lang/main/scripts/install.sh | KORA_VERSION=0.0.2 sh curl -fsSL https://raw.githubusercontent.com/ImAbhishekTomar/kora-lang/main/scripts/install.sh | KORA_INSTALL_DIR="$HOME/.local/bin" sh

The default directory is ~/.local/bin. Add it to your PATH if the installer reports that it is not already there.

Build from source

Install Rust and Cargo, then build the CLI from the repository:

git clone https://github.com/ImAbhishekTomar/kora-lang.git cd kora-lang cargo build --release --locked ./target/release/kora --version

Run directly from the source tree while developing Kora:

cargo run -- run examples/00_basics.ko

Verify your installation

kora --version kora check examples/00_basics.ko kora run examples/00_basics.ko

The deterministic examples run without an API key. Programs using model calls need the provider configuration described below.

Model setup

The deterministic core works without a model. For analyze, name one in kora.toml — the model’s name exactly as its provider writes it, where the request goes, and which variable holds the key:

[models] default = { name = "llama3.2:latest", endpoint = "http://localhost:11434", api = "ollama" } smart = { name = "gpt-4o", api_key_env = "OPENAI_API_KEY" } cheap = { name = "openrouter/free", endpoint = "https://openrouter.ai/api/v1", api_key_env = "OPENROUTER_API_KEY" }

api is the request shape: "openai" (the default, spoken by nearly every hosted provider and gateway) or "ollama". Nothing else about a provider is built into Kora, so OpenAI, OpenRouter, Groq, Together, and a self-hosted vLLM are all configuration.

Export whichever key variable you named. A local server that wants no key needs none: leave api_key_env out and no Authorization header is sent.

First run

./target/debug/kora run examples/00_basics.ko ./target/debug/kora run --replay examples/01_expense_check.ko

Read Getting started for the short guided path, or open the Language reference when you want the full surface. To read documentation for an older release, use Documentation versions.

Last updated on