Skip to content

Plugins

Every agent connects to CodeNavi over MCP; that alone gives it the tools. A plugin adds the parts that make the agent use them without being told: usage rules, commands, and hooks. The plugins are MIT-licensed, carry nothing secret, and your CodeNavi server hands them out itself.

This page is the overview. The install steps live on each agent's page, linked from the table below.

What a plugin adds

Part What it does
MCP connection Wires the agent to the server — on the agents where the plugin can carry it (see the table below).
using-codenavi skill Teaches the agent the search rules: CodeNavi before blind greps and file reads, one GPU search at a time, codebase= on every call.
compliance-check skill The engine behind the compliance command — see Compliance gap analysis.
Commands search, overview, review, status, codebases, reindex, compliance, doctor, setup, crawl, and a project-summary generator.
Session-start hook Tells the agent at the start of every session that the index is up and, on a multi-codebase server, which codebase this repo is indexed as. When the licence has run out it says so, and names the way back.
Grep hook When the agent greps an indexed tree, the hook answers from the index first. See Grep hook.
Statusline A prompt badge: index coverage of the current repo (✦) and whether CodeNavi was used this turn. See Statusline.

Which agents get one

Agent Plugin What it ships Install
Claude Code Yes MCP connection, 12 /codenavi: commands, both skills, both hooks, statusline Claude Code
OpenAI Codex CLI Yes 11 task skills ($codenavi:<name>), both skills, both hooks. No statusline: Codex cannot run an external one yet. The MCP connection is written by connect-codenavi.sh. Codex
Google Antigravity CLI (agy 1.3.2+) Yes 12 /codenavi: commands, both skills, both hooks, statusline. The MCP connection is written by connect-codenavi.sh. Older agy: the skill only. The Antigravity IDE and desktop app get the MCP connection only — they read the same mcp_config.json. Antigravity
GitHub Copilot CLI The Claude Code plugin Both skills and the session-start hook. It does not connect the server — run copilot mcp add first. Commands and the grep hook are untested there. Copilot CLI
Claude Desktop, OpenCode, Pi, VS Code, Zed, AnythingLLM, CI bots No MCP config only. Give the agent the usage rules by hand: Rules for your agent. Connect your agent

Where to get them

Your server serves each plugin at two read-only URLs. They need no token:

http://<server>:8765/plugins/claude.git        # also .zip
http://<server>:8765/plugins/codex.git         # also .zip
http://<server>:8765/plugins/antigravity.git   # also .zip

Use localhost when the agent runs on the server machine. No git on the client? The .zip unpacks to codenavi-plugin-<agent>/. Client that cannot reach the server at all? Every package ships the same plugins under plugins/<agent>/.

Updates

The served plugin is always the one your server version ships, so update the server first, then the plugin:

Agent After a server update
Claude Code claude plugin marketplace update codenavi (Claude Code also does this in the background)
Codex codex plugin marketplace upgrade codenavi && codex plugin add codenavi@codenavi, then trust the hooks again with /hooks
Antigravity git pull the bundle (or fetch the .zip again) and re-run connect-codenavi.sh — agy cannot follow a custom marketplace, and its statusline is a copy

Grep hook

When the agent runs grep or rg over an indexed tree, the hook answers from the index first: the symbol's definition and callers, or the top semantic hits. Set its mode with CODENAVI_HOOK_GREP:

Value Effect
(unset) Hint — the index answer is shown and the grep still runs
block The grep is denied when the index already answers it, and the agent is told which tool to use instead (semantic_search, grep_search or read_file, with codebase= filled in)
off or 0 The hook does nothing

Where to set it:

  • Claude Code — in the env block of ~/.claude/settings.json. python3 <plugin>/statusline/install.py env CODENAVI_HOOK_GREP=block writes it for you and refuses unknown values.
  • Codex — export CODENAVI_HOOK_GREP=block in the shell that starts Codex.
  • Antigravity — in agy's environment.

In block mode, the prefix CODENAVI_HOOK_GREP=hint grep … runs one raw grep anyway — use it for files the index skips (dotfiles, lockfiles, vendored trees).

The hook never intercepts a grep over named files, or a path held in a shell variable it cannot see. It only acts on an indexed tree: inside a git repo, the repo's name must match a codebase name exactly. Outside a repo, a folder named after the codebase counts, and so does name-something — unless a folder named exactly name sits next to it.1

Statusline

The badge shows the current repo's index coverage (✦), or "uncovered", or a server-down marker, and whether CodeNavi was used this turn. A trial licence near its end adds an expiry badge.

  • Claude Code — /codenavi:status-line enable (also disable, status).
  • Antigravity — connect-codenavi.sh installs it; --no-statusline skips it, python3 statusline/install.py disable restores your previous one.
  • Codex — not possible yet; see Codex → Statusline.

Server on another machine

The plugin, the badge and the hooks find the server through CODENAVI_HOST, CODENAVI_PORT and CODENAVI_AUTH_TOKEN. On Claude Code, put them in the env block of ~/.claude/settings.json — /codenavi:doctor writes it for you. On Codex and Antigravity, pass --host <server-ip> to connect-codenavi.sh. Details: Remote access.


  1. Vendor change reference CN-819. ↩