Skip to content
Zanei
English
Esc
navigateopen⌘Jpreview
On this page

Setup

Set up Zanei with native integration or printed instructions for manual placement.

Zanei ships one canonical skills/SKILL.md. zanei setup installs it unchanged for agents with native skill support. For opencode and pi, it derives an instruction snippet, prints it to stdout, and leaves placement to you. For MCP, setup prints the registration command to run — only Claude Desktop’s config file is written directly; opencode’s MCP JSON is likewise printed for manual configuration.

zanei setup --agent <claude|codex|opencode|hermes|pi|claude-desktop> [--scope project|user] [--print]
Flag Description
--agent Target: claude / codex / opencode / hermes / pi / claude-desktop
--scope project (default; current repository) or user (account-wide). It has no effect on the manual opencode/pi output
--print Preview planned file changes without writing. opencode and pi never write files, with or without this flag

Per-agent setup

zanei setup --agent claude

This installs the canonical SKILL.md unchanged where Claude Code discovers skills, and prints the MCP registration command to run:

claude mcp add zanei -- zanei mcp

With --scope user, the skill installs for all your projects instead of the current repository.

zanei setup --agent codex

Installs the canonical SKILL.md unchanged at ~/.codex/skills/zanei/SKILL.md and prints the MCP registration command to run:

codex mcp add zanei -- zanei mcp

or in Codex’s config.toml:

[mcp_servers.zanei]
command = "zanei"
args = ["mcp"]

Codex skills and MCP registration are user-global, so setup always targets ~/.codex/ regardless of --scope.

zanei setup --agent opencode

This command does not modify any files. It prints the MCP JSON below and an AGENTS.md snippet derived from the canonical SKILL.md body. Add the JSON to opencode.json, then paste the instruction snippet wherever you prefer in AGENTS.md. The behavior is the same with or without --print.

{
  "mcp": {
    "zanei": { "type": "local", "command": ["zanei", "mcp"] }
  }
}
zanei setup --agent hermes

Hermes has first-class skills and MCP, both user-global under ~/.hermes/. Setup installs the canonical SKILL.md unchanged at ~/.hermes/skills/zanei/SKILL.md and prints the MCP registration command to run:

hermes mcp add zanei --command zanei --args mcp

or in ~/.hermes/config.yaml:

mcp_servers:
  zanei:
    command: "zanei"
    args: ["mcp"]

Because Hermes configuration is user-global, --scope project does not apply here — setup always targets ~/.hermes/.

zanei setup --agent claude-desktop

Claude Desktop has no shell, so MCP is the only surface. The command registers the server in claude_desktop_config.json:

{
  "mcpServers": {
    "zanei": {
      "command": "zanei",
      "args": ["mcp"]
    }
  }
}
zanei setup --agent pi

pi ships without MCP and does not support native skills. This command does not modify any files: it derives an instruction snippet from the canonical SKILL.md body and prints it to stdout. Paste the snippet wherever you prefer in a README or another instruction file that pi reads. The behavior is the same with or without --print; zanei mcp is not used.

Other MCP-capable agents not listed above: register zanei mcp as a stdio server using the client’s standard MCP configuration — the JSON shape is the same as the Claude Desktop snippet.

Verify it works

  1. Make sure recording is on: zanei status (agents can check this themselves via get_status).
  2. Ask your agent something like “check what I was working on in the last hour.”
  3. The agent should call get_timeline (MCP) or zanei timeline (CLI) and answer from your actual activity.

If the agent reports that recording is off, run zanei start — and if that complains about permissions, zanei doctor --fix (see the permissions guide).

Was this page helpful?