Supported Agents
Supported Agents
Section titled “Supported Agents”RTK supports all major AI coding agents across 3 integration tiers. Mistral Vibe support is planned.
How it works
Section titled “How it works”Each agent integration intercepts CLI commands before execution and rewrites them to their RTK equivalent. The agent runs rtk cargo test instead of cargo test, sees filtered output, and uses up to 90% fewer tokens — without any change to your workflow.
All rewrite logic lives in the RTK binary (rtk rewrite). Agent hooks are thin delegates that parse the agent-specific JSON format and call rtk rewrite for the actual decision.
Agent runs "cargo test" -> Hook intercepts (PreToolUse / plugin event) -> Calls rtk rewrite "cargo test" -> Returns "rtk cargo test" -> Agent executes filtered command -> LLM sees 90% fewer tokensSupported agents
Section titled “Supported agents”| Agent | Integration tier | Can rewrite transparently? |
|---|---|---|
| Claude Code | Shell hook (PreToolUse) | Yes |
| VS Code Copilot Chat | Shell hook (PreToolUse) | Yes |
| GitHub Copilot CLI | Shell hook (deny-with-suggestion) | No (agent retries) |
| Cursor | Shell hook (preToolUse) | Yes |
| Gemini CLI | Rust binary (BeforeTool) | Yes |
| OpenCode | TypeScript plugin (tool.execute.before) | Yes |
| OpenClaw | TypeScript plugin (before_tool_call) | Yes |
| Cline / Roo Code | Rules file (prompt-level) | N/A |
| Windsurf | Rules file (prompt-level) | N/A |
| Codex CLI | AGENTS.md instructions | N/A |
| Kilo Code | Rules file (prompt-level) | N/A |
| Google Antigravity | Rules file (prompt-level) | N/A |
| Mistral Vibe | Planned (#800) | Pending upstream |
Installation by agent
Section titled “Installation by agent”Claude Code
Section titled “Claude Code”rtk init --global # installs hook + patches settings.jsonRestart Claude Code. Verify:
rtk init --show # shows hook statusCursor
Section titled “Cursor”rtk init --global --cursorRestart Cursor. The hook uses preToolUse with Cursor’s updated_input format.
VS Code Copilot Chat
Section titled “VS Code Copilot Chat”rtk init --global --copilotGemini CLI
Section titled “Gemini CLI”rtk init --global --geminiOpenCode
Section titled “OpenCode”rtk init --global --opencodeCreates ~/.config/opencode/plugins/rtk.ts. Uses the tool.execute.before hook.
OpenClaw
Section titled “OpenClaw”openclaw plugins install ./openclawPlugin in the openclaw/ directory. Uses the before_tool_call hook, delegates to rtk rewrite.
Cline / Roo Code
Section titled “Cline / Roo Code”rtk init --cline # creates .clinerules in current projectCline reads .clinerules as custom instructions. RTK adds guidance telling Cline to prefer rtk <cmd> over raw commands.
Windsurf
Section titled “Windsurf”rtk init --windsurf # creates .windsurfrules in current projectCodex CLI
Section titled “Codex CLI”rtk init --codex # creates AGENTS.md or patches existing oneKilo Code
Section titled “Kilo Code”rtk init --agent kilocode # creates .kilocode/rules/rtk-rules.md in current projectKilo Code reads .kilocode/rules/ as custom instructions. RTK adds guidance telling Kilo Code to prefer rtk <cmd> over raw commands.
Google Antigravity
Section titled “Google Antigravity”rtk init --agent antigravity # creates .agents/rules/antigravity-rtk-rules.md in current projectAntigravity reads .agents/rules/ as custom instructions. RTK adds guidance telling Antigravity to prefer rtk <cmd> over raw commands.
Mistral Vibe (planned)
Section titled “Mistral Vibe (planned)”Support is blocked on upstream BeforeToolCallback (mistral-vibe#531). Tracked in #800.
Integration tiers explained
Section titled “Integration tiers explained”| Tier | Mechanism | How rewrites work |
|---|---|---|
| Full hook | Shell script or Rust binary, intercepts via agent API | Transparent — agent never sees the raw command |
| Plugin | TypeScript/JS in agent’s plugin system | Transparent — in-place mutation |
| Rules file | Prompt-level instructions | Guidance only — agent is told to prefer rtk <cmd> |
Rules file integrations (Cline, Windsurf, Codex, Kilo Code, Antigravity) rely on the model following instructions. Full hook integrations (Claude Code, Cursor, Gemini) are guaranteed — the command is rewritten before the agent sees it.
Windows support
Section titled “Windows support”The shell hook (rtk-rewrite.sh) requires a Unix shell. On native Windows:
rtk init -gautomatically falls back to CLAUDE.md injection mode (prompt-level instructions)- Filters work normally (
rtk cargo test,rtk git status) - Auto-rewrite does not work — the AI assistant is instructed to use RTK but commands are not intercepted
For full hook support on Windows, use WSL. Inside WSL, all agents with shell hook integration (Claude Code, Cursor, Gemini) work identically to Linux.
Graceful degradation
Section titled “Graceful degradation”Hooks never block command execution. If RTK is missing, the hook exits cleanly and the raw command runs unchanged:
- RTK binary not found: warning to stderr, exit 0
- Invalid JSON input: pass through unchanged
- RTK version too old: warning to stderr, exit 0
- Filter logic error: fallback to raw command output
Override: disable RTK for one command
Section titled “Override: disable RTK for one command”RTK_DISABLED=1 git status # runs raw git status, no rewriteOr exclude commands permanently in ~/.config/rtk/config.toml:
[hooks]exclude_commands = ["git rebase", "git cherry-pick"]