Install

The SubQ utility plugin works with Claude Code, Codex CLI, and Gemini CLI. Each provider has its own manifest format and installation method—the plugin ships all three.

Claude Code

Claude Code uses a plugin system with .claude-plugin/plugin.json manifests. Distribution via GitHub-hosted marketplace repos. All management through in-session /plugin slash commands.

INSTALL

From GitHub

Add the Subquadratic marketplace, then install the plugin.

Commands
/plugin marketplace add subquadratic-ai/subq-utility-plugin
/plugin install subq-utility@subquadratic
/reload-plugins
Local dev claude --plugin-dir ./subq-utility-plugin
Scopes User (all projects), Project (repo collaborators), Local (you only)
Auto-discovery skills/*/SKILL.md, hooks/hooks.json, .mcp.json, agents/, bin/
Manifest .claude-plugin/plugin.json

Codex CLI

Codex uses a plugin system with .codex-plugin/plugin.json manifests. Browse and install via the /plugins TUI, or add manually to config.toml.

INSTALL

Config

Add the plugin to your Codex configuration file.

~/.codex/config.toml
[plugins.subq-utility]
path = "https://github.com/subquadratic-ai/subq-utility-plugin"
TUI browser Run /plugins inside Codex CLI to browse and install
Skills format skills/*/SKILL.md with name/description frontmatter
Hooks hooks.json at plugin root — SessionStart, Stop, UserPromptSubmit
Manifest .codex-plugin/plugin.json

Gemini CLI

Gemini CLI uses “extensions” with a gemini-extension.json manifest. Install from GitHub via shell command. Tools exposed through MCP servers.

INSTALL

From GitHub

Install the extension directly from the repository.

Commands
gemini extensions install https://github.com/subquadratic-ai/subq-utility-plugin
gemini extensions install https://github.com/subquadratic-ai/subq-utility-plugin --auto-update
Local dev gemini extensions link .
Extension dir ~/.gemini/extensions/
Hook events BeforeAgent, AfterAgent, BeforeTool, AfterTool, OnUserInput
Manifest gemini-extension.json
Version pin --ref v1.2.0 flag on install

Compatibility Matrix

Side-by-side comparison of how each provider handles plugins, hooks, skills, and distribution.

Claude Code
Codex CLI
Gemini CLI
Manifest
.claude-plugin/plugin.json
.codex-plugin/plugin.json
gemini-extension.json
Skills
skills/*/SKILL.md
skills/*/SKILL.md
MCP servers
Hook config
hooks/hooks.json
hooks.json (root)
settings.json
Hook events
SessionStart, Stop, PreCompact
SessionStart, Stop, UserPromptSubmit
BeforeAgent, AfterAgent, BeforeTool
Install
/plugin install
/plugins TUI
gemini extensions install
Distribution
GitHub marketplace repos
openai/plugins repo
GitHub URL
Local dev
--plugin-dir
config.toml
extensions link

Prerequisites

The plugin is a pure declaration shell—all hook logic lives in the SubQ CLI. You need the CLI installed and (optionally) the local server running.

SubQ CLI subq must be on PATH. SessionStart hook includes a command -v subq fallback.
Local server Optional. Hooks degrade gracefully if unreachable—blocking hooks timeout, non-blocking return {}.
Override path Set SUBQ_CODE_PATH env var to use a non-PATH CLI location.