Skip to main content
Nisa integrates as a subprocess CLI plus a skill file (nisa-cli). There is no MCP server. This page is the working contract once the skill is installed; the per-agent setup is on the Install page.
1

Install the CLI and the skill

One download into your agent’s skills folder — the per-agent paths for Claude Code, Codex, Cursor, Copilot CLI, Gemini CLI, Qwen Code, OpenCode, Kilo Code, Hermes Agent, OpenHands, and Replit Agent are on the Install page. For Claude Code:
The skill is public and edge-cached (~5 min) — safe to refetch on every start; it also carries the local-tool write contract (read before edit, error codes) and the recipes. Downloads: SKILL.md · install.sh. A self-healing guard the skill itself uses:
2

Give it a key

On the machine where you signed in through the chat’s browser flow, nothing to do: that flow stored a long-lived key in ~/.nisa/credentials.json and agents pick it up. Anywhere else, mint a named key and export it:
Or create it in the web app under Settings → API Keys — the path that always works (a key can’t manage keys: 403 API key management requires browser login). Keys are the only supported agent-mode auth: no refresh, no rotation, parallel-safe. Don’t share your OAuth credentials file with parallel agents — refresh tokens are one-shot. (The Python SDK reads RAPIDREVIEW_API_KEY, a different variable.)
3

Run headless

--headless disables every prompt; --envelope wraps direct-command JSON as {meta, data}.

Contract for the agent

Give it your files

Read tools by default; --allow-writes adds file edits; --allow-exec adds shell.exec (60 s default, credential-shaped env scrubbed, cwd clamped — not a sandbox). For a browser-driven session use the bridge: Local folder access. Registering what you find in Merv: Using Nisa with Merv.