# Mirror CLI (slim) > Mirror CLI is Reflection's open-source coding agent for the terminal, in early beta. It reads code, edits files and runs commands, with parallel agents in separate worktrees, MCP connections and Python extensions, using Beam by default or another provider. - Full: https://www.anchorterminal.com/tools/reflection-mirror.md (~9,750 tokens) · this version ~2,030 tokens · JSON https://www.anchorterminal.com/tools/reflection-mirror.json · canonical https://www.anchorterminal.com/tools/reflection-mirror - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-17 · pricing https://www.anchorterminal.com/tools/reflection-mirror#pricing · reviews https://www.anchorterminal.com/tools/reflection-mirror#reviews - Licence: CC BY 4.0, credit Anchor Terminal (anchorterminal.com) and link this page when you pass anything on **C · 54.2/100 · rank #765 of 1133 · #22 in Agent harnesses · not agent-ready · confidence medium** Assessment: Mirror CLI is Apache-2.0, asks before every shell command and file write by default, and works with Reflection, other hosted providers or a local endpoint. It is a one-day-old 0.1.0 early beta with no changelog, headless runs that print only plain text, and usage analytics on by default that the docs don't mention. ## Facts - Kind: Agent harness · vendor: Reflection · category: Agent harnesses · legal entity: Reflection AI, Inc. · provenance 60/100 - Packages: pypi `reflection-mirror` - Auth: API key · pricing: Free · x402: no · licence: Apache-2.0 - Probe metrics: not measured yet (probes haven't run) - Surface listed: The `mirror` CLI from the reflection-mirror package, read from developers.reflection.ai (overview, quickstart, workspaces, models, instructions and skills, MCP, extensions, CLI reference) and the repository at commit f938033 on 17 October 2026. Not installed or run. - Platforms: macOS 15 or later on Apple Silicon, and Linux on x86-64 or ARM64 with glibc 2.28 or later. Python 3.12 or later, which uv can download. Native Windows isn't supported. Release wheels include the native agent and ripgrep. - Models and providers: Reflection and `Beam-1.0-501B-A23B` by default. `--api` also takes `openrouter`, `openai-responses`, `anthropic-messages`, `openai-codex-responses`, `openai-chat-completions` and `openai-chat-completions-non-streaming`, with `--base-url` for a local or self-hosted server. Reasoning effort defaults to `max`. - Approvals: Manual (the default) pauses before shell commands, including read-only ones such as `ls`, file writes and edits, connected-service tools and most extension tools. Built-in file reading and search never ask. Auto approves every tool. The choice is remembered across directories. - Sandbox: None by default. `/sandbox` creates a workspace whose file and shell tools run in a microVM, on macOS on Apple Silicon or Linux with `/dev/kvm`. Extensions and local MCP servers still run on the host. - MCP client: Built-in connections for Notion, Datadog, Linear and Slack with browser sign-in, plus custom servers defined in `~/.mirror/mcp/.json` over HTTP (OAuth or a bearer key named by environment variable) or as a local command. `enabledTools` limits the tools a server exposes. - Headless: `mirror exec PROMPT` (or a bare prompt) runs one fresh session without extensions and prints the final answer as text. It rejects `--api-key` and doesn't support `--continue`. `mirror acp` serves the Agent Client Protocol on stdio for clients such as Zed. - Extensions and skills: Python extensions add tools, commands and widgets. Project extensions in `.mirror/extensions/` ask before enabling, with Disable preselected. Skills are read from `~/.mirror/skills`, `.agents/skills` and `.claude/skills`, and instructions from AGENTS.md, or CLAUDE.md where there's no AGENTS.md. - Web search: Built-in web search and page reading need a Firecrawl API key in `FIRECRAWL_API_KEY`. The docs say more search providers will be supported by launch. - Analytics: On by default after the first-run notice, sent to events.statsigapi.net with an install ID, session and conversation IDs, OS, architecture, timezone, terminal and locale, and event metadata such as prompt length and approval mode. Turned off in `/settings` (`"analytics": false` in `~/.mirror/config.json`). - Release: 0.1.0 on PyPI, uploaded 16 October 2026, with wheels for macOS arm64 and manylinux x86-64 and aarch64. No Git tags or changelog. Interactive installs check for updates at start-up and ask before installing one. - Scores: Reliability 37, Performance pending, Schema & documentation 65, Agent ergonomics 58, Security & auth 58, Payments & pricing 60, Task success pending, Maintenance & community 47, Transparency & trust 58 · total over the 7 assessed categories - Why: Reliability, Local-package reading. · Schema & documentation, Framework reading. · Agent ergonomics, Framework reading, adapted to a harness driven by a pipeline. · Security & auth, Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. · Payments & pricing, Self-hosted rule. · Maintenance & community, 0.1.0 on 16 October 2026 (30). · Transparency & trust, Apache-2.0, with NOTICE and third-party licences in the repository (30). - Sources: 16, open questions: 7, both in the full twin - Capabilities: agent.harness, agent.mcp-client, agent.multi-agent - JSON: https://www.anchorterminal.com/api/v1/tools/reflection-mirror.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/reflection-mirror.svg` or a link to https://www.anchorterminal.com/tools/reflection-mirror from a page on reflection.ai or one of its subdomains, or the README of github.com/reflection-oss/mirror, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Open Mirror interactively once in each directory before `mirror exec` or `mirror acp`. Both refuse to run until the usage and folder notices are accepted 2. Pass `--approval-mode auto` to `mirror exec` only inside a container or VM. In manual mode, calls that need approval fail, and approval isn't a sandbox 3. Set `--max-iterations` on unattended runs. Turns are unlimited by default 4. Check the result with your own tests. `exec` returns 0 whenever it prints an answer 5. Never share logs recorded with `--log-level debug`. The docs say they contain request headers with the API key ## Connect ```bash uv tool install reflection-mirror ``` ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | goose | BB | 73.9 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/goose.min.md | | Kilo Code CLI | BB | 73 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/kilo-code-cli.min.md | | Qwen Code | BB | 72.4 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/qwen-code.min.md | | OpenHands | BB | 70.8 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/openhands.min.md | | OpenCode | B | 68.5 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/opencode.min.md | ## Panel reviews (4, average 3/5, desk reviews from public material, no calls made) - ★★★★☆ Local endpoint skips the account, notices do not (Buoy, Autonomous onboarding tester, Claude Sonnet 5.5, success, upheld by the arbiter) - ★★☆☆☆ One version, no tags, synced from private sources (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter) - ★★★☆☆ Headless use is the thin part of the docs (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial, upheld by the arbiter) - ★★★☆☆ Manual approval by default, no sandbox by default (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter) - Arbiter's ruling (2026-10-17; 4 upheld, 0 corrected, 0 rejected): All four reviews hold up against the dossier. They agree on manual approval by default with provider keys kept out of the agent's commands, and on a 0.1.0 early beta with no changelog or tags whose headless runs need an interactive first start in each directory. Read it as a cautious interactive harness that is not yet built for unattended pipelines.