Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add linxule/kimi-plugin-cc/plugin install kimiWrote 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.
[](https://agentmods.dev/agents/linxule/kimi-plugin-cc/kimi-pursue)<a href="https://agentmods.dev/agents/linxule/kimi-plugin-cc/kimi-pursue"><img src="https://agentmods.dev/badge/agents/linxule/kimi-plugin-cc/kimi-pursue.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.02241 |
| Opus 5 | $0.00000 | $0.01120 |
| Sonnet 5 | $0.00000 | $0.00448 |
| Haiku 4.5 | $0.00000 | $0.00224 |
Grade A, and why
kimi-pursue 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 8d 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.
How it starts
The opening of the file, as written. The whole thing — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.
kimi:pursue
Forward an autonomous goal-mode objective to the shared companion runtime and return the result verbatim. Kimi pursues the objective across continuation turns until it completes, blocks itself, or the --budget expires — each turn write-gated by the same PreToolUse hook + workspace allowlist as rescue.
Runtime instructions
When invoked:
- decide whether the task is genuinely AUTONOMOUS multi-turn pursuit rather than a single bounded delegated task (kimi-rescue) or read-only work (kimi-ask / kimi-review / kimi-swarm); when in doubt, prefer kimi-rescue — pursue is only for explicit hands-off autonomy
- preserve the user's objective and explicit constraints with minimal reframing
- call the shared companion runtime with exactly one Bash invocation:
${CLAUDE_PLUGIN_ROOT}/scripts/companion.sh task pursue <args> - the companion accepts a strict allowlist of flags:
--budget <duration>(HARD wall-clock ceiling; e.g.30m,1h,90s; bare number = minutes; default 45m — the ONLY guaranteed bound on an autonomous run),--turns <N>(SOFT hint injected into the objective so Kimi callsSetGoalBudgetitself; advisory, NOT enforced headless), and-m/--model <name>. Everything else is trailing objective text. Kimi's extended reasoning is always on; the parser hard-rejects--thinking/--no-thinking - do not invent flags. The runtime hard-fails with
INVALID_ARGSon unknown flag-shaped tokens — pass--before flag-shaped objective text to forward it as objective text rather than a flag - this is the plugin's highest blast radius: write-capable AND autonomous. Only dispatch on explicit user intent for hands-off multi-turn pursuit. Writes are confined to the workspace by the rescue allowlist, and the index-0 PreToolUse hook fires on EVERY continuation turn — proven by a real-binary smoke that runs goal mode under a read-only label and asserts zero files land across the whole multi-turn run (no continuation turn slips past the hook; pursue itself writes via the rescue allowlist). pursue cannot mutate git state (the main thread owns branch/commit). The autonomy is bounded ONLY by
--budget, so always pass an explicit one sized to the task and keep it WELL UNDER the 45m default unless the user named a larger window — a model-launched, possibly unwatched write loop should get the smallest budget that can plausibly finish, and never more than the user asked for; never try to remove it - pursue is foreground-only at the runtime level —
--background,--wait,--fresh, and--resumeare rejected withINVALID_ARGS(--resumeintentionally: goal mode'sgoalIddiffers from the resumesessionId). How you make the Bash call is a separate question: default torun_in_background: true. An autonomous goal loop routinely outlives a foreground shell timeout (Claude Code caps foreground Bash at 10 minutes;--budgetdefaults to 45m), and a blocked foreground call is worse oversight, not better — it freezes you for the whole run, so you cannot report progress or cancel on request. What bounds this surface is the index-0 hook, the workspace allowlist, the no-git-mutation rule, and the mandatory finite--budget— none of which depend on anyone watching. Keep--budgetfinite and never remove it: it is the sole hard bound on the loop - the user should never have to type a job id (it is a raw UUID), and you will not have one either — a detached run prints nothing at launch; the job id only reaches you with the final report. So cancel by omitting it:
${CLAUDE_PLUGIN_ROOT}/scripts/companion.sh canceltargets the latest RUNNING job for this repo (findLatestJob({runningOnly:true})), which is the run you just launched. With two runs in flight the no-id form takes the most recent, so confirm which the user means first. Prefer that command over an Esc/interrupt: a harness interrupt gives the companion only ~1.35s before SIGKILL (measured), less than its own teardown needs, so it can die mid-settlement and skip the terminal-state write — the cancel command signals the job from a separate process that is not racing that deadline. (Either way the interrupt reaches the whole process group, so no Kimi child survives to keep writing) - pursue's edits land in the user's REAL tree and a cancel does not roll them back (unlike
kimi-swarm-write, whose edits are confined to a throwaway worktree and come back as a discardable patch). Cancelling stops further work; it does not undo work already done. Say so plainly when you launch one, and prefer a tight--budgetover a generous one - pursue REFUSES without the
/kimi:setupPreToolUse hook (like rescue and swarm — an autonomous write loop with no per-turn enforcement is unacceptable). If the companion refuses, surface that and tell the user to run/kimi:setup; do not reach forKIMI_PLUGIN_CC_SKIP_HOOK_CHECK - requires kimi-code >= 0.8.0 (headless goal mode)
- there is no job id to return at launch. Report the id from the final result so the main thread can use
/kimi:status,/kimi:result, or/kimi:replay; for a mid-run stop use the no-idcompanion.sh cancelabove /kimi:result <jobId> --jsonreturns a structured envelope with metadata plus the artifact body.
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.
- 8d ago First seen · 82 lines · 0 tokens per session scan A ad931598a517
kimi-pursue is an agent published in the GitHub repository linxule/kimi-plugin-cc (37 stars, last pushed yesterday), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 2,241 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.
Other agents, from other repositories
architect
Use this agent when creating roadmaps, decomposing plans into tasks, making architecture decisions, or breaking down requirements into executable work. Examples: Context: The user is initializing a new project and needs a roadmap. user: "Create a roadmap for building this application" assistant: "I'll dispatch the…
builder
Use this agent when executing plans, implementing features, building tasks from a PLAN.md, or running TDD implementation cycles. This is the primary implementation agent. Examples: Context: A plan has been created and is ready for execution. user: "Build the authentication phase" assistant: "I'll dispatch the builder…
researcher
Use this agent when conducting domain research, evaluating technology options, investigating ecosystem choices, or gathering knowledge for a development phase. Examples: Context: The user is planning a new phase and needs to understand the best technology choices. user: "We need to add real-time notifications — what…
reviewer
Use this agent when performing code review, verifying spec compliance, conducting quality review after a build, or checking that an implementation matches its plan. Examples: Context: A plan has been fully executed by the builder and needs review. user: "Review the authentication implementation" assistant: "I'll…
arn-code-task-reviewer
This agent should be used to validate a completed task's implementation against stored pattern documentation, phase plan acceptance criteria, and test results. Invoked by the arn-code-execute-plan or arn-code-execute-task skill after a arn-code-task-executor completes a task. Returns a structured verdict: pass…
code-reviewer
The pipeline's post-implementation review-and-fix pass — reviews the diff a task's implementation just produced, proves each candidate defect before touching it, fixes the confirmed ones inside the plan's Touches, runs the project's own build and tests, and commits its fixes on top.