Plugins and extensions
agentprint install edits each agent’s config files for you. If you would rather add agentprint the way you add any other plugin, each agent below has one. Both ways give the agent the same three things: a hook that checks a package publish or git push before it runs, the agentprint MCP server, and the short note on when to check.
What each plugin includes
Section titled “What each plugin includes”| Agent | Hook | MCP server | Note | Formats | Run in the real agent |
|---|---|---|---|---|---|
| Claude Code | yes | yes | as a skill | as documented | yes: blocks a leaky publish; passes claude plugin validate |
| Cursor | yes | yes | always-on rule | as documented | not yet |
| Codex | yes | yes | as a skill | docs-verified only | not yet |
| GitHub Copilot CLI | yes | yes | as a skill | docs-verified only | yes: blocks a leaky publish |
| Gemini CLI | yes | yes | context file | docs-verified only | yes: blocks a leaky publish |
| Google Antigravity | yes | yes | always-on rule | as documented | not yet |
| Hermes Agent | yes (after you enable it) | no: add it to config.yaml yourself |
as a skill | docs-verified only | yes: blocks a leaky publish |
| VS Code | no | yes | no | docs-verified only (the link) | not yet |
Run in the real agent means CI loads the plugin into that agent’s real program, driven by a scripted mock model (no accounts), and checks that a publish with a leaked key is blocked and a clean one runs. A format can be docs-verified only and still pass that run: the run proves the plugin works today, the docs label says which parts the agent’s docs don’t spell out.
As documented means every file uses a shape the agent’s official docs show (for Antigravity, its Build plugins page: plugin.json, hooks.json, mcp_config.json and rules/ at the plugin’s root). Docs-verified only means the plugin is built from the docs, but a part of its format is not shown there, so agentprint uses the closest documented shape:
- Codex: the docs show plugin MCP servers only for remote servers, not local (stdio) ones, and say bundled hooks run in the desktop app; whether the CLI runs them is not stated.
- GitHub Copilot CLI: the docs name the plugin’s hooks file but not its contents, so it uses the Copilot CLI hooks format.
- Gemini CLI: the docs imply but don’t show the outer
"hooks"key in the extension’s hooks file, and don’t say whether the context file may sit in a subfolder. - Hermes Agent: the docs don’t list the terminal tool’s arguments or say what path
register_skilltakes. - VS Code: the docs show
code --add-mcpwith a server name in the JSON; the install link uses the same JSON.
agentprint’s tests check every plugin file and run every plugin hook command against a fake package. None of these plugins has been loaded into its real agent yet. Nothing is listed in any marketplace or registry yet: you install from this repository.
Install
Section titled “Install”Each plugin runs agentprint 0.1.1: hooks run uvx --from agentprint==0.1.1 agentprint guard --agent <agent>, and the MCP server is uvx --from agentprint==0.1.1 agentprint mcp.
Claude Code
Section titled “Claude Code”claude plugin marketplace add adighatakdas-cloud/agentprintclaude plugin install agentprint@agentprintcodex plugin marketplace add adighatakdas-cloud/agentprintThen open codex, type /plugins and install agentprint. Codex runs a plugin’s hook only after you trust it: type /hooks and trust the agentprint hook.
GitHub Copilot CLI
Section titled “GitHub Copilot CLI”copilot plugin marketplace add adighatakdas-cloud/agentprintcopilot plugin install agentprint@agentprintOr in one step, straight from the folder: copilot plugin install adighatakdas-cloud/agentprint:plugins/agentprint/copilot. Use one of these two forms, not the bare copilot plugin install adighatakdas-cloud/agentprint: that would read the repository’s root as the plugin, and the hooks file there is Gemini CLI’s.
Gemini CLI
Section titled “Gemini CLI”gemini extensions install https://github.com/adighatakdas-cloud/agentprint --ref v0.1.1Antigravity
Section titled “Antigravity”git clone --depth 1 --branch v0.1.1 https://github.com/adighatakdas-cloud/agentprint.git agentprint-srcagy plugin install ./agentprint-src/plugins/agentprint/antigravityCursor
Section titled “Cursor”git clone --depth 1 --branch v0.1.1 https://github.com/adighatakdas-cloud/agentprint.git agentprint-srcmkdir -p ~/.cursor/plugins/localcp -R agentprint-src/plugins/agentprint/cursor ~/.cursor/plugins/local/agentprintThen run Developer: Reload Window in Cursor.
Hermes Agent
Section titled “Hermes Agent”git clone --depth 1 --branch v0.1.1 https://github.com/adighatakdas-cloud/agentprint.git agentprint-srcmkdir -p ~/.hermes/pluginscp -R agentprint-src/plugins/agentprint/hermes ~/.hermes/plugins/agentprinthermes plugins enable agentprintHermes plugins cannot bring an MCP server. To add it, put this under mcp_servers: in ~/.hermes/config.yaml:
agentprint: command: uvx args: ["--from", "agentprint==0.1.1", "agentprint", "mcp"] enabled: trueVS Code (MCP server only)
Section titled “VS Code (MCP server only)”code --add-mcp '{"name":"agentprint","type":"stdio","command":"uvx","args":["--from","agentprint==0.1.1","agentprint","mcp"]}'Or open this install link from a page that allows vscode: links (GitHub’s README view does not): vscode:mcp/install?%7B%22name%22%3A%22agentprint%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22--from%22%2C%22agentprint%3D%3D0.1.1%22%2C%22agentprint%22%2C%22mcp%22%5D%7D
Antigravity can also import an installed Gemini CLI extension with agy plugin import gemini. Its docs don’t say which parts carry over, and the Gemini hook watches Gemini’s shell tool (run_shell_command), not Antigravity’s (run_command). To get the hook in Antigravity, install the Antigravity plugin above.
How the plugin hook behaves
Section titled “How the plugin hook behaves”- It is the same hook
agentprint installwrites for that agent, in the agent’s own format. Only package publishes andgit pushare checked; every other command runs untouched. - Antigravity runs a plugin’s hooks in the plugin’s own folder. If its hook message doesn’t say which folder the command runs in, a publish or push there is reported as “could not check” (blocked in strict mode), never checked against the plugin’s folder.
- It needs uv (
uvx) on the agent’sPATH, or in~/.local/binor~/.cargo/bin. The first run downloads that exact agentprint version into uv’s cache. For hooks that start faster from a permanent install, useuv tool install agentprintandagentprint installinstead. - If
uvxis missing, or agentprint cannot start, the command runs and the agent’s hook log gets one line, such asagentprint: uvx not found, so this command was not checked (install uv to turn it on). The hook never blocks because agentprint itself failed. - Strict mode (
AGENTPRINT_STRICT=1, see strict mode) reaches a plugin’s hook where the agent passes its environment on to hooks. Gemini CLI does not. Where it arrives, a hook that can’t start agentprint (nouvx,uvxoffline or failing) blocks the command with one line and the agent’s own block message, instead of letting it run. That holds for every command the hook sees until agentprint can run again. - Plugin hooks run on macOS and Linux only for now (they use
/bin/sh). Formats that can name a Windows command (Claude Code’sshell, Copilot’spowershell, Codex’scommandWindows) don’t get one yet. On Windows, useagentprint install, which adds the MCP server and the note. - Each agent asks you first in its own way: Claude Code shows the plugin’s details before it installs, Gemini CLI asks for consent when you install the extension, Codex runs the hook only after you trust it in
/hooks, and Hermes loads the plugin only once you enable it.
Remove it
Section titled “Remove it”| Agent | Remove the plugin |
|---|---|
| Claude Code | claude plugin uninstall agentprint@agentprint |
| Codex | uninstall agentprint in Codex’s /plugins menu |
| GitHub Copilot CLI | copilot plugin uninstall agentprint |
| Gemini CLI | gemini extensions uninstall agentprint |
| Google Antigravity | agy plugin uninstall agentprint |
| Cursor | delete ~/.cursor/plugins/local/agentprint, then reload the Cursor window |
| Hermes Agent | hermes plugins disable agentprint, then delete ~/.hermes/plugins/agentprint |
| VS Code | remove the agentprint server from the MCP server list |
agentprint status counts a plugin as arming an agent only when the agent’s own records say it is installed and enabled: for Claude Code, ~/.claude/plugins/installed_plugins.json and enabledPlugins in ~/.claude/settings.json (a version folder marked .orphaned_at doesn’t count); for Codex, [plugins."agentprint@agentprint"] in ~/.codex/config.toml; for Hermes Agent, plugins.enabled in ~/.hermes/config.yaml. For Copilot CLI, Gemini CLI, Cursor and Antigravity, where the plugin is turned on or off isn’t documented, so status sees only the plugin’s folder. It says “agentprint plugin found, not checked whether it is enabled”, doesn’t count the agent as armed, and never calls it “armed twice”.
The MCP registry
Section titled “The MCP registry”The repository has a server.json for the official MCP registry (name io.github.adighatakdas-cloud/agentprint, from PyPI, started with uvx agentprint mcp). It is prepared, not published.