Use Caro from your agent
Caro is a safety-validated shell-command generator that other coder agents and agentic IDEs can call as a tool. Pick the integration surface that matches your stack โ copy-paste configs below.
Integration surfaces
Claude Code skill
Bundled at .claude/skills/caro-shell/SKILL.md. Auto-discovered by Claude Code.
MCP server
caro mcp serve โ exposes shell-command tools over the Model Context Protocol. Coming soon.
OpenAI-compat HTTP
caro serve --openai โ OpenAI Chat Completions endpoint. Unlocks Codex, Cursor, Continue, Aider, Tabby in one shot. Coming soon.
Caro-as-a-tool โ outward integrations
Working today
- Claude Code (skill) โ Working Claude Code skill validated 2026-04-26
Bundled skill at `.claude/skills/caro-shell/SKILL.md`. Triggers when the user asks for shell-command synthesis; shells out to the published `caro` binary with `--dry-run` and presents the safety-validated suggestion for approval.
# Install the caro CLI first cargo install caro # Then point Claude Code at the skill bundled in this repo: # .claude/skills/caro-shell/SKILL.md # Claude Code auto-discovers skills from .claude/skills/ in any project.
In progress
- Claude Code (MCP server) ๐ง In progress MCP server
Planned `caro mcp serve` subcommand exposing `generate_command`, `validate_command`, `explain_safety`, `show_decision_tree` over the Model Context Protocol. Spec drafted in `.github/first-time-issues/06-mcp-claude-code-integration.md`.
Tracking: see GitHub issues labeled `integration` + `mcp`
- OpenAI-compat HTTP shim ๐ง In progress OpenAI-compat HTTP
Planned `caro serve --openai` mode. Exposes an OpenAI Chat Completions endpoint backed by caro's safety-validated generation. Single integration unlocks Codex, Cursor, Continue, Aider, Tabby, and most long-tail tools that already speak OpenAI's schema.
Tracking: see GitHub issues labeled `integration` + `openai-compat`
- crush ๐ง In progress MCP server
Charm.sh terminal coding agent. Codex MCP server config pattern in flight.
Tracking: PR #789 (Crush MCP config)
- Gemini CLI ๐ง In progress Native backend
Google's agentic CLI. Caro-side Gemini backend in flight.
Tracking: PR #782 (Gemini integration workflows)
Planned
- OpenAI Codex โณ Planned OpenAI-compat HTTP
Will work via the OpenAI-compat shim once that ships โ point Codex at `http://localhost:PORT/v1` instead of `api.openai.com`.
- Cursor โณ Planned OpenAI-compat HTTP
Cursor accepts a custom OpenAI base URL in settings. Once the OpenAI-compat shim ships, set base URL to caro and enjoy validated shell-command tool calls.
- Continue.dev โณ Planned OpenAI-compat HTTP
Continue (VS Code / JetBrains) supports OpenAI-compatible providers via `config.json`. OpenAI-compat shim covers it.
- Aider โณ Planned OpenAI-compat HTTP
Aider speaks OpenAI; OpenAI-compat shim covers it.
- Tabby (self-hosted) โณ Planned OpenAI-compat HTTP
Self-hosted coding assistant. Point its model endpoint at the caro shim.
- opencode โณ Planned MCP server
Charm.sh terminal coding agent. Will integrate via MCP server or OpenAI shim.
- droid โณ Planned MCP server
Mobile-first agent. Plan: MCP server or OpenAI shim.
- Sourcegraph Amp โณ Planned MCP server
Enterprise coding agent. MCP-based integration once `caro mcp serve` ships.
- Letta (MemGPT) โณ Planned MCP server
Persistent-memory agent runtime. Tool registration via MCP.
- Qwen Code โณ Planned OpenAI-compat HTTP
Qwen-based coding agent; OpenAI-compat shim or native backend.
- Jules (Google) โณ Planned Native backend
Google's async coding agent. Coordinate with the Gemini backend work.
Backends Caro can drive
Caro itself is a multi-backend client. Use any of these for inference; safety validation runs the same regardless of backend.
- Anthropic Claude API โ Working
Implemented in `src/backends/remote/claude.rs`. Set `ANTHROPIC_API_KEY` and run with `--backend claude`.
export ANTHROPIC_API_KEY=sk-ant-... caro --backend claude "find large files modified today" - Ollama โ Working
Local or remote Ollama server. Implemented in `src/backends/remote/ollama.rs`.
ollama pull qwen2.5-coder:7b caro --backend ollama --model qwen2.5-coder:7b "tar this dir excluding .git" - vLLM โ Working
Self-hosted vLLM server (OpenAI-compatible). `src/backends/remote/vllm.rs`.
- Exo โ Working
Distributed local inference across your devices. `src/backends/remote/exo.rs`.
- MLX (embedded, Apple Silicon) โ Working
On-device inference via MLX + llama.cpp. Default on macOS arm64. No network.
caro --backend embedded "kill the process on port 3000" - Candle CPU (embedded) โ Working
Cross-platform CPU inference via Candle. Slower but works everywhere.
- OpenRouter (incl. `auto`) โณ Planned
Single backend โ 100+ models including OpenRouter's `auto` routing. Planned: clones the vLLM backend shape.
- Claude Code session token โณ Planned
Reuse the user's active Claude Code authentication (subscription or API). Default to Haiku for cheap fast inference.
Want caro to integrate with a tool not listed? File an integration request โ the caro-integrator agent reviews these every night.