Installation

Install GNO via Bun, prove local retrieval with gno doctor, and configure vector search on macOS.

GNO ships as a TypeScript CLI package installed and run by Bun. The same package exposes a web server, TypeScript SDK, and MCP server. The supported runtime is Bun 1.3.0 or newer.

macOS and Linux

bun install -g @gmickel/gno

On macOS, vector search requires the Homebrew build of SQLite so GNO can load the SQLite extension for vector similarity:

brew install sqlite3

After indexing at least one folder, verify with gno doctor. Alongside environment checks, doctor derives a bounded term from each local collection and proves that lexical retrieval returns the expected document.

gno doctor

Windows

Current support target is windows-x64. The CLI path works via Bun/global install, and the desktop beta ships as a packaged Windows zip on GitHub Releases. Windows arm64 is not supported yet.

bun install -g @gmickel/gno

Desktop beta

The packaged desktop shell wraps gno serve in a native window with the workspace UI pre-wired. Grab a build from GitHub Releases and run it like any other desktop app. Desktop builds are beta and may trail the current CLI package; verify the version attached to the release before choosing it over the CLI.

Verify your install

gno --version
gno doctor
gno status

gno doctor surfaces path resolution, SQLite version, model cache location, disk space, embedding freshness, and retrieval activation. gno status exposes the same activation contract without loading or downloading models or starting a connector runtime. A passed lexical proof means the collection is usable even when semantic search remains pending. Status reports degraded state but still exits 0; doctor exits non-zero when lexical activation fails.

Release package proof

GNO releases run bun run test:package before publish. That script packs the npm tarball with npm pack, installs from that tarball into isolated temporary paths, verifies required packed files including src/embed/retry.ts, then runs the packaged gno --version, gno --help, and gno doctor --json.

The packaged doctor proof is specific: JSON must include the embedding-fingerprint check and its embeddingFingerprint payload with currentFingerprint, pendingChunks, legacyChunks, mixedGroups, and groups.

Connect your AI tools

Most users install a skill or MCP target so the client can search the local index and return cited snippets. One command per client:

# Coding agents (zero-overhead skill install)
gno skill install --target claude --scope user # Claude Code
gno skill install --target codex --scope user
gno skill install --target opencode --scope user
gno skill install --target openclaw --scope user
gno skill install --target hermes --scope user
gno skill install --target all --scope user # all agents

# AI assistants and editors (MCP)
gno mcp install --target claude-desktop
gno mcp install --target cursor
gno mcp install --target zed
gno mcp install --target windsurf
gno mcp install --target claude-code
gno mcp status

Full client list + write-access options: MCP reference. Per-client setup guides: Claude Code, Claude Desktop, Cursor.

Installation and verification are separate. The Web UI’s Connectors page offers an explicit read-only retrieval check for installed MCP targets. Installed skill targets remain target_runtime_unverifiable because GNO can inspect their files but cannot prove that a client loaded or executed them.

Next steps