setup

A setup command for installing and configuring several command-line workers that can handle coding tasks through different AI services.

In plain words
What is it for?
Use it to detect available worker tools, choose a backend, configure access, and install helper commands for delegation.
Why use it?
It removes the need to manually install each worker and work out its login or API-key setup.

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/rbinar/cli-dispatch/setup
Clone the repo
git clone --depth 1 https://github.com/rbinar/cli-dispatch
Per session 26 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 5,274 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 2 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.00026 $0.05274
Opus 5 $0.00013 $0.02637
Sonnet 5 $0.00005 $0.01055
Haiku 4.5 $0.00003 $0.00527

Measured yesterday against content hash 234c597b7f95, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

setup scanned grade C with 2 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 yesterday.

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.

Downloads and executes remote codehighSupply chain

curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.

- `claude` → `npm i -g @anthropic-ai/claude-code` (fallback: `curl -fsSL https://claude.ai/install.sh | bash`)

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- `claude` → `npm i -g @anthropic-ai/claude-code` (fallback: `curl -fsSL https://claude.ai/install.sh | bash`)
plugins/cli-dispatch/commands/setup.md · 301 lines

How it starts

The opening of the file, as written. The whole thing — 301 lines — stays where its author put it; the contents beside it link to each section on GitHub.

cli-dispatch setup

cli-dispatch is a multi-backend delegation hub. Five worker backends are available:

Backend Worker CLI it wraps Auth Installs
DeepSeek claude (Claude Code) pointed at DeepSeek's API DeepSeek API key claude-ds, claude-ds-stream, ds-agent
Antigravity agy (Antigravity CLI, Gemini) under a pseudo-TTY Google sign-in (agy) or GEMINI_API_KEY ag-stream, ag-agent
Codex codex (OpenAI Codex CLI) codex login (ChatGPT/OAuth) or CODEX_API_KEY cx-stream, cx-agent
OpenCode opencode (OpenCode CLI, via OpenRouter) OpenRouter API key (paste yourself, no OAuth) oc-stream, oc-agent
GitHub Copilot copilot (GitHub Copilot CLI) gh auth login / COPILOT_GITHUB_TOKEN / GH_TOKEN + active Copilot subscription cp-stream, cp-agent

Follow these steps:

  1. Detect which worker CLIs are available so you can recommend a sensible default:

    command -v claude >/dev/null 2>&1 && echo "claude: found" || echo "claude: MISSING"
    command -v agy    >/dev/null 2>&1 && echo "agy: found ($(agy --version 2>/dev/null))" || echo "agy: MISSING"
    command -v codex  >/dev/null 2>&1 && echo "codex: found ($(codex --version 2>/dev/null))" || echo "codex: MISSING"
    command -v opencode >/dev/null 2>&1 && echo "opencode: found ($(opencode --version 2>/dev/null))" || echo "opencode: MISSING"
    command -v copilot >/dev/null 2>&1 && echo "copilot: found ($(copilot --version 2>/dev/null))" || echo "copilot: MISSING"
    
  2. Ask the user which backend(s) to install with AskUserQuestion (header: "Backends", multiSelect). Offer: DeepSeek, Antigravity (Gemini), Codex (OpenAI), OpenCode (OpenRouter), GitHub Copilot. In the option descriptions, note which underlying CLI each needs and whether it was found in step 1 (e.g. if codex is MISSING, say it can be installed after). For OpenCode, note it needs an OpenRouter API key (paste-yourself, no OAuth) and that if opencode was MISSING in step 1, it can be installed after. For Copilot, note it needs an active GitHub Copilot subscription plus gh auth login or COPILOT_GITHUB_TOKEN/GH_TOKEN. Map the (possibly multiple) answers to a comma-list: DeepSeek→deepseek, Antigravity→antigravity, Codex→codex, OpenCode→opencode, Copilot→copilot (e.g. all five → deepseek,antigravity,codex,opencode,copilot, also accepted as all).

  3. Cross-reference step 2's picks against step 1's detection, and offer to auto-install any missing CLI(s):

    • Map each backend chosen in step 2 to the underlying CLI step 1 checked: DeepSeek→claude, Antigravity→agy, Codex→codex, OpenCode→opencode, Copilot→copilot. Determine which of the chosen backends' CLIs came back MISSING in step 1.
    • If none are missing, skip this step entirely and run the installer in step 4 exactly as today, with no new flag.
    • If one or more are missing, ask a separate AskUserQuestion (header: "Auto-install?") that explicitly names each missing CLI and the exact command(s) that would run for it:
      • claudenpm i -g @anthropic-ai/claude-code (fallback: curl -fsSL https://claude.ai/install.sh | bash)
      • agycurl -fsSL https://antigravity.google/cli/install.sh | bash
      • codexnpm i -g @openai/codex (fallbacks: brew install --cask codex, or curl -fsSL https://chatgpt.com/codex/install.sh | sh)
      • opencodenpm i -g opencode-ai
      • copilotnpm i -g @github/copilot (fallbacks: brew install --cask copilot-cli, or curl -fsSL https://gh.io/copilot-install | bash) In the question text, state plainly that the agy installer and the curl-based fallbacks for claude/codex/copilot download and execute a script from the vendor's domain (antigravity.google, claude.ai, chatgpt.com, gh.io) — the user should know this before approving. Offer:
      • "Yes, auto-install" — the installer will be invoked with --install-missing (bash) / -InstallMissing (PowerShell) in step 4, so it attempts each missing CLI via package manager or vendor script, falling back to the existing MISSING warning if that fails.
      • "No, I'll install manually" — proceed exactly as today, no new flag; the user installs the missing CLI(s) themselves whenever they like. Leave neither option marked recommended: true — running a vendor's install script is a deliberate, per-user tradeoff, not something to nudge them toward.
    • This approval is per-run only: always ask again in a fresh setup run, even if the user approved auto-install previously — never treat a prior session's answer as standing consent.

Read the full file on GitHub · 301 lines

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. yesterday First seen · 301 lines · 26 tokens per session scan C 234c597b7f95

Subscribe to this mod's changes

setup is a command published in the GitHub repository rbinar/cli-dispatch (5 stars, last pushed 14d ago), licensed MIT. It adds 26 tokens to every session and 5,274 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.