rescue

A command for sending an investigation, fix request, or follow-up task to a Codex rescue agent. It can run in the foreground or as a background task.

In plain words
What is it for?
Use it to investigate a problem, ask for a code fix, or continue rescue work, with optional waiting or background execution.
Why use it?
It delegates work that needs additional investigation or an explicit repair while preserving the original request and execution mode.

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/gitguffaw/codex-router/rescue
Clone the repo
git clone --depth 1 https://github.com/gitguffaw/codex-router
Per session 20 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,246 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 86% copy Near-identical to another mod 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.00020 $0.01246
Opus 5 $0.00010 $0.00623
Sonnet 5 $0.00004 $0.00249
Haiku 4.5 $0.00002 $0.00125

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

Security

Grade A, and why

rescue 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 2d 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.

Origin

This is a copy

86% identical to rescue — 33 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

plugins/codex-router/commands/rescue.md · 57 lines

How it starts

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

Invoke the codex-router:codex-rescue subagent via the Agent tool (subagent_type: "codex-router:codex-rescue"), forwarding the raw user request as the prompt. codex-router:codex-rescue is a subagent, not a skill — do not call Skill(codex-router:codex-rescue) (no such skill) or Skill(codex-router:rescue) (that re-enters this command and hangs the session). The command runs inline so the Agent tool stays in scope; forked general-purpose subagents do not expose it. For foreground execution, the final user-visible response must be Codex's output verbatim. For background execution, the launch acknowledgement may be concise; when the subagent completion arrives, surface Codex's output verbatim.

Raw user request: $ARGUMENTS

Execution mode:

  • If the request includes both --background and --wait, stop with an error and do not invoke the subagent.
  • If the request includes --background, run the codex-router:codex-rescue subagent in the background.
  • If the request includes --wait, run the codex-router:codex-rescue subagent in the foreground.
  • If neither flag is present, default to foreground.
  • --background and --wait control only whether Claude Code runs the subagent in the background or foreground. Do not forward either flag to task, and do not treat them as part of the natural-language task text.
  • The subagent must always invoke the internal task --watch mode. That mode launches a detached tracked worker, captures its exact job id, and watches only that authorized job.
  • A Bash or subagent timeout ends only the watcher. It must never cancel, kill, or mark the detached Codex worker failed while the tracked job remains active.
  • --model and --effort are runtime-selection flags. Preserve them for the forwarded task call, but do not treat them as part of the natural-language task text.
  • -c/--config, --enable, and --disable are Codex config controls. Preserve them for the forwarded task call, but do not treat them as part of the natural-language task text.
  • If the request includes --resume, do not ask whether to continue. The user already chose.
  • If the request includes --fresh, do not ask whether to continue. The user already chose.
  • Otherwise, before starting Codex, check for a resumable rescue thread from this Claude session by running:
node "${CLAUDE_PLUGIN_ROOT}/scripts/codex-companion.mjs" task-resume-candidate --json
  • If that helper reports available: true, use AskUserQuestion exactly once to ask whether to continue the current Codex thread or start a new one.
  • The two choices must be:
    • Continue current Codex thread
    • Start a new Codex thread
  • If the user is clearly giving a follow-up instruction such as "continue", "keep going", "resume", "apply the top fix", or "dig deeper", put Continue current Codex thread (Recommended) first.
  • Otherwise put Start a new Codex thread (Recommended) first.
  • If the user chooses continue, add --resume before routing to the subagent.
  • If the user chooses a new thread, add --fresh before routing to the subagent.
  • If the helper reports available: false, do not ask. Route normally.

Operating rules:

  • The subagent is a thin forwarder only. It should use one Bash call to invoke node "${CLAUDE_PLUGIN_ROOT}/scripts/codex-companion.mjs" task --watch ... and return that command's stdout as-is when the watcher reaches a terminal job state.
  • Never let the subagent add --background to task; --watch owns the detached-worker lifecycle.
  • Return the Codex companion stdout verbatim to the user when the watched job finishes.
  • Do not paraphrase, summarize, rewrite, or add commentary before or after successful output.
  • If the Bash watcher expires after printing Codex rescue started as <job-id>, report that exact id and /codex-router:result <job-id>; state that the active job was not cancelled. Do not start another job.
  • Do not ask the subagent to inspect files, monitor progress, poll /codex-router:status, fetch /codex-router:result, call /codex-router:cancel, summarize output, or do follow-up work of its own.
  • Leave --effort unset unless the user explicitly asks for a specific reasoning effort.
  • Leave the model unset unless the user explicitly asks for one. Preserve exact selectors and aliases such as spark; the runtime resolves them against the live catalog.
  • Preserve -c/--config, --enable, and --disable when the user explicitly supplies them.
  • Leave --resume and --fresh in the forwarded request. The subagent handles that routing when it builds the task command.
  • If the helper reports that Codex is missing or unauthenticated, stop and tell the user to run /codex-router:setup.
  • If the user did not supply a request, ask what Codex should investigate or fix.

Read the full file on GitHub · 57 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. 2d ago First seen · 57 lines · 20 tokens per session scan A 90af07756f6d

Subscribe to this mod's changes

rescue is a command published in the GitHub repository gitguffaw/codex-router (2 stars, last pushed 4d ago), licensed Apache-2.0. It adds 20 tokens to every session and 1,246 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 86% identical to rescue, differing in 33 lines, and is treated as a copy.