gum-plugin-install

gum-plugin-install is a command for coding agents from ehmo/gum. It costs 0 tokens per session (444 once invoked), scanned A, original, MIT.

A command that installs a plugin into the GUM registry after checking its manifest and namespace ownership. It writes the catalog, lock file, and plugin state together in one transaction.

In plain words
What is it for?
Use it to install a local plugin directory, acknowledge its trust requirements, or allow a namespace collision during development.
Why use it?
It helps keep registry files consistent if installation fails and warns that plugins are third-party programs requiring trust. It also prevents namespace conflicts outside explicitly marked development profiles.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/ehmo/gum/gum-plugin-install
Clone the repo
git clone --depth 1 https://github.com/ehmo/gum

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for gum-plugin-install

README.md
[![agentmods](https://agentmods.dev/badge/commands/ehmo/gum/gum-plugin-install.svg)](https://agentmods.dev/commands/ehmo/gum/gum-plugin-install)
Your own site
<a href="https://agentmods.dev/commands/ehmo/gum/gum-plugin-install"><img src="https://agentmods.dev/badge/commands/ehmo/gum/gum-plugin-install.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 444 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00444
Opus 5 $0.00000 $0.00222
Sonnet 5 $0.00000 $0.00089
Haiku 4.5 $0.00000 $0.00044

Measured 4d ago against content hash 0181229f0596, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

gum-plugin-install scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

docs/commands/gum-plugin-install.md · 50 lines

What it actually says

gum plugin install

Generated from gum schema --json. Do not edit this page by hand; run make docs-commands.

Installs a plugin through an atomic registry update: validates the manifest, runs the namespace-ownership check against the active profile's plugins.lock, and writes plugin-catalog.json + plugins.lock + plugin-state.json through one fsync'd transaction.

Plugins are third-party subprocesses. Installing one trusts its executable and manifest-declared capabilities; plugin-managed auth means the plugin, not GUM's OAuth resolver, is responsible for any credentials it requests or forwards. Review the source and manifest, then pass --yes to acknowledge that trust.

Use --dev-allow-namespace-conflict on a dev profile (set profile.is_dev=true via gum config set) to install a plugin whose prefix collides with an existing namespace_owner. Outside a dev profile the flag is ignored and the install fails with PLUGIN_NAMESPACE_CONFLICT.

Usage

gum plugin install <local-dir> [flags]

Parent

Arguments

Name Help
local-dir

Flags

Flag Type Default Help
--dev-allow-namespace-conflict bool false On a dev profile, allow installing a plugin whose prefix is already locked to a different namespace_owner. Ignored outside dev profiles.
--yes bool false Acknowledge that the plugin subprocess and manifest-declared capabilities are trusted enough to install.
--log-format string json Log format: json|text
--log-level string info Log level: debug|info|warn|error (overrides GUM_LOG_LEVEL)
--profile string default Profile name to read/write config under

See also

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 50 lines · 0 tokens per session scan A 0181229f0596

Subscribe to this mod's changes

gum-plugin-install is a command published in the GitHub repository ehmo/gum (32 stars, last pushed 26d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 444 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.