Skip to main content

Fastest path

Use npm for the simplest cross-platform install.

Native installers

Homebrew, shell installer, and PowerShell installer are available when you prefer platform-native flows.

Most flexible

Use go install or build from source when you want a local checkout or custom toolchain flow.

Requirements

The npm package and release installers use published archives by default, so Go is not required on supported targets. If you install with go install, build from source, or install on a target without a matching release archive, you need:
  • Go 1.25+
  • a working C toolchain
On Windows source builds, that means an MSYS2 or MinGW-style toolchain, or an equivalent setup.

Choose an install path

Published release archives

PlatformArchitecturesStatus
macOSarm64, x86_64Supported
Linuxarm64, x86_64Supported
Windowsarm64, x86_64Supported

Verify the install

unch --version
unch --help
If you installed through npm and want Codex integration:
unch codex install

Configure OpenRouter

If you want to use OpenRouter for embeddings instead of the local llama.cpp runtime:
unch auth openrouter --token sk-or-...
unch index --provider openrouter --model openai/text-embedding-3-small
By default unch auth openrouter stores the token in:
~/.config/unch/tokens.json
That keeps the token out of your project checkout and out of your shell environment. For one repository only, use:
unch auth openrouter --token sk-or-... --local
That writes:
.semsearch/tokens.json
Prefer the release installers when your platform has a matching published archive and you just want a working binary quickly.That path does not require Go and is the one covered by install smoke checks in CI.
Use source-based install when you want to work from a checkout, pin your own toolchain, or run on a target without a matching release archive.
Windows source builds need a working C toolchain.In practice that means MSYS2, MinGW, or an equivalent environment that can build the Tree-sitter and SQLite dependencies.
If unch is installed but not found, make sure the installer destination is on your PATH.