rescue

A command that sends an investigation, requested fix, or follow-up task to an OpenCode rescue subagent. A subagent is a separate AI worker used to carry out delegated work.

In plain words
What is it for?
Delegating troubleshooting, explicit code fixes, and follow-up rescue tasks to the OpenCode rescue worker.
Why use it?
It lets you hand off rescue work while preserving the original request and choosing whether the work runs in the foreground or in the background.

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/victalejo/opencode-plugin-cc/rescue
Clone the repo
git clone --depth 1 https://github.com/victalejo/opencode-plugin-cc
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 960 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 88% 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.00960
Opus 5 $0.00010 $0.00480
Sonnet 5 $0.00004 $0.00192
Haiku 4.5 $0.00002 $0.00096

Measured yesterday against content hash 65a7ef3c2a43, 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 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.

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

88% identical to rescue — 40 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/opencode/commands/rescue.md · 50 lines

What it actually says

Invoke the opencode:rescue subagent via the Agent tool (subagent_type: "opencode:rescue"), forwarding the raw user request as the prompt. opencode:rescue is a subagent, not a skill — do not call Skill(opencode: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. The final user-visible response must be opencode's output verbatim.

Raw user request: $ARGUMENTS

Execution mode:

  • If the request includes --background, run the opencode:rescue subagent in the background.
  • If the request includes --wait, run the opencode:rescue subagent in the foreground.
  • If neither flag is present, default to foreground.
  • --background and --wait are execution flags for Claude Code. Do not forward them to task, and do not treat them as part of the natural-language task text.
  • --model is a runtime-selection flag. Preserve it for the forwarded task call, but do not treat it as part of the natural-language task text.
  • --context is a value-taking flag whose value is a comma-separated list of file paths relative to the workspace. Preserve it (and its value) for the forwarded task call, but do not treat it 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 opencode, check for a resumable rescue session from this Claude session by running:
node "${CLAUDE_PLUGIN_ROOT}/scripts/opencode-companion.mjs" task-resume-candidate --json
  • If that helper reports available: true, use AskUserQuestion exactly once to ask whether to continue the current opencode session or start a new one.
  • The two choices must be:
    • Continue current opencode session
    • Start a new opencode session
  • 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 opencode session (Recommended) first.
  • Otherwise put Start a new opencode session (Recommended) first.
  • If the user chooses continue, add --resume before routing to the subagent.
  • If the user chooses a new session, 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/opencode-companion.mjs" task ... and return that command's stdout as-is.
  • Return the opencode companion stdout verbatim to the user.
  • Do not paraphrase, summarize, rewrite, or add commentary before or after it.
  • Do not ask the subagent to inspect files, monitor progress, poll /opencode:status, fetch /opencode:result, call /opencode:cancel, summarize output, or do follow-up work of its own.
  • Pass --model <value> whenever the user mentions any model name, even colloquial (e.g. "minimax m3", "gpt-4o", "opus"). The companion resolves the name to the correct provider/model ID automatically. Do not investigate models yourself. Leave --model unset only when the user does not mention any model at all.
  • Leave --resume and --fresh in the forwarded request. The subagent handles that routing when it builds the task command.
  • If the helper reports that opencode is missing or unauthenticated, stop and tell the user to run /opencode:setup.
  • If the user did not supply a request, ask what opencode should investigate or fix.
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 · 50 lines · 20 tokens per session scan A 65a7ef3c2a43

Subscribe to this mod's changes

rescue is a command published in the GitHub repository victalejo/opencode-plugin-cc (3 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 20 tokens to every session and 960 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 88% identical to rescue, differing in 40 lines, and is treated as a copy.