{
  "data": {
    "a": {
      "slug": "jules",
      "name": "Jules",
      "vendor": "Google LLC",
      "vendorUrl": "https://jules.google",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Jules is Google's asynchronous coding agent, which clones a GitHub repository into a cloud virtual machine, plans, edits and opens pull requests. Outside agents drive it through an alpha REST API, a TypeScript SDK, an MCP package and a CLI.",
      "url": "https://www.anchorterminal.com/tools/jules",
      "markdownUrl": "https://www.anchorterminal.com/tools/jules.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/jules.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/jules.json",
      "repo": "https://github.com/google-labs-code/jules-sdk",
      "license": "Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@google/jules"
        },
        {
          "registry": "npm",
          "name": "@google/jules-sdk"
        },
        {
          "registry": "npm",
          "name": "@google/jules-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "The REST API takes an API key in the `X-Goog-Api-Key` header. Keys are created by a person in Settings in the Jules web app, at most three at a time, shown once and revocable there, and publicly exposed keys are disabled automatically. Keys carry no scopes. The discovery document also lists Google OAuth with the broad cloud-platform scope. The Jules Tools CLI signs in with a Google account in the browser (`jules login`). Repository sources need the Jules GitHub app installed through the web app.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 15 tasks a day and 3 concurrent tasks. Jules in Pro (100 a day, 15 concurrent) and Jules in Ultra (300 a day, 60 concurrent) come with the Google AI Pro and Ultra plans, and the Google AI plans page lists AI Plus with expanded Jules limits (jules.google/docs/usage-limits and one.google.com/about/google-ai-plans, checked 2026-10-18). Paid plans are for personal @gmail.com accounts, with an interest form for business users. The plan prices render per locale and weren't read. No per-task or per-call price.",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Jules docs, the API reference, the discovery document or the plans pages (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": 8,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 1269,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://jules.google/docs/",
      "llmsTxt": "https://jules.google/docs/llms.txt",
      "openapi": "https://jules.googleapis.com/$discovery/rest?version=v1alpha",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "hosted",
        "cloud-agent",
        "closed-source",
        "api-key",
        "alpha",
        "llms-txt",
        "mcp",
        "no-status-page",
        "stale-release",
        "freemium"
      ],
      "lastRelease": "2026-03-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.5,
        "grade": "E",
        "agentReady": false,
        "rank": 1000,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 35,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 18,
          "payments": 30,
          "reliability": 13,
          "schema": 76,
          "security": 57,
          "transparency": 44
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": 0,
        "verdict": "The API is described by a public Google discovery document, takes only a prompt to start a session, and logs every plan, shell command and diff as activities. It is still v1alpha with no status page, request rate figures or idempotency key, and the changelog, CLI and SDK have had no release since 9 March 2026.",
        "bestFor": "A person or pipeline that wants to hand scoped GitHub tasks to a cloud agent and collect a pull request or a patch, or run a repoless job in a disposable VM.",
        "strengths": [
          "Public discovery document for jules.googleapis.com v1alpha with 13 methods, typed schemas, enums and required fields, revision 20261015",
          "Only `prompt` is required to create a session. A session without `sourceContext` runs repoless in a fresh cloud VM",
          "Activities record plans, messages, bash commands with exit codes and git patches, and can be filtered by `create_time` to fetch only new events",
          "Four ways in for an outside agent, the REST API, the Apache-2.0 TypeScript SDK, an 8-tool stdio MCP server and the Jules Tools CLI",
          "Free plan of 15 tasks a day and 3 concurrent tasks with a Google account, and docs served as Markdown with an llms.txt index"
        ],
        "weaknesses": [
          "The REST API has been v1alpha since 3 October 2025 and the docs say specifications and API keys may change",
          "Newest changelog entry is 9 March 2026, the CLI's last npm release 0.1.42 was on 16 December 2025, and the SDK and MCP packages last published 0.2.0 on 9 March 2026",
          "No status page, no request rate figures, no Retry-After guidance and no idempotency key on session creation were found",
          "API sessions auto-approve their plans unless `requirePlanApproval` is true, and the MCP server defaults to an automated run that opens a pull request",
          "A person must sign in with Google, install the Jules GitHub app and create the key in the web app. Keys carry no scopes"
        ],
        "agentNotes": [
          "Set `requirePlanApproval: true` on sessions that touch shared branches, then call `:approvePlan` yourself. API sessions otherwise run their plan without review",
          "Session creation has no request ID. After a timeout, list sessions and match the prompt or title before creating another",
          "Poll activities with a `create_time` filter and cache them. Activities never change once written",
          "Read the request fields from the discovery document at https://jules.googleapis.com/$discovery/rest?version=v1alpha. The field tables on jules.google render empty",
          "Budget against the daily task quota of 15, 100 or 300 by plan. New sessions are refused until the rolling 24 hours reset"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.5
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 18,
          "payments": 30,
          "reliability": 13,
          "schema": 76,
          "security": 57,
          "transparency": 25
        },
        "provenanceScore": 62
      },
      "connect": {
        "install": "npm install -g @google/jules   # Jules Tools CLI, then: jules login",
        "http": "curl 'https://jules.googleapis.com/v1alpha/sessions' -X POST -H \"Content-Type: application/json\" -H \"x-goog-api-key: $JULES_API_KEY\" -d '{\"prompt\": \"Add a test for parseQueryString in utils.js\", \"sourceContext\": {\"source\": \"sources/github/OWNER/REPO\", \"githubRepoContext\": {\"startingBranch\": \"main\"}}, \"requirePlanApproval\": true}'",
        "config": {
          "mcpServers": {
            "jules": {
              "args": [
                "@google/jules-mcp"
              ],
              "command": "npx",
              "env": {
                "JULES_API_KEY": "\u003capi-key\u003e"
              }
            }
          }
        },
        "headless": {
          "run": "jules remote new --repo . --session \"write unit tests\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/jules"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "jules.google",
        "domainRegistered": "2025-01-16",
        "endpointOnVendorDomain": true,
        "terms": "https://policies.google.com/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "",
        "changelog": "https://jules.google/docs/changelog/",
        "securityTxt": "none",
        "checked": "2026-10-18",
        "notes": [
          "The jules.google footer links the Google Terms of Service and Privacy Policy. The Jules privacy notice at jules.google.com/legal answered 'Jules is not yet available in your region' to our request and wasn't read.",
          "jules.google returns 404 for /.well-known/security.txt. www.google.com has a valid security.txt (expires 2030-04-01) pointing to g.co/vulnz and the Google VRP.",
          "The API answers at jules.googleapis.com, Google's API domain. RDAP for jules.google gives a registration date of 2025-01-16.",
          "No status page for Jules was found."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/jules.json",
      "live": {
        "slug": "jules",
        "pages": [
          {
            "url": "https://jules.google/docs/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:32:10.654949702Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6add211f604a"
          }
        ],
        "updatedAt": "2026-10-18T23:32:10.654949702Z"
      }
    },
    "answer": "Mirror CLI scores 54.2 (C) on agent readiness against Jules's 44.5 (E), and leads in 5 of 7 scored categories. Jules leads on schema \u0026 documentation and agent ergonomics.",
    "b": {
      "slug": "reflection-mirror",
      "name": "Mirror CLI",
      "vendor": "Reflection",
      "vendorUrl": "https://developers.reflection.ai/mirror-overview",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "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.",
      "url": "https://www.anchorterminal.com/tools/reflection-mirror",
      "markdownUrl": "https://www.anchorterminal.com/tools/reflection-mirror.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/reflection-mirror.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/reflection-mirror.json",
      "repo": "https://github.com/reflection-oss/mirror",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "reflection-mirror"
        }
      ],
      "auth": "api-key",
      "authNotes": "The default provider is the Reflection API, with a key from platform.reflection.ai in `REFLECTION_API_KEY` or pasted at first start and saved to `~/.mirror/reflection_api_key`. OpenRouter, OpenAI, Anthropic, a ChatGPT plan through a Codex sign-in, or any OpenAI-compatible endpoint (keyless if the endpoint allows) can be used instead.",
      "pricing": "free",
      "pricingNotes": "Free and Apache-2.0. Model calls are billed by the provider chosen. The default Reflection API was a free public beta with daily usage limits on 17 October 2026, and some organisations must verify a credit card before their keys work.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Mirror docs, the README or the source at commit f938033 (checked 17 October 2026).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://developers.reflection.ai/mirror-overview",
      "llmsTxt": "https://developers.reflection.ai/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "python",
        "rust",
        "mcp",
        "llms-txt",
        "beta",
        "pre-1.0",
        "telemetry-default-on",
        "approvals",
        "free",
        "no-card",
        "local"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.2,
        "grade": "C",
        "agentReady": false,
        "rank": 772,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 28,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 47,
          "payments": 60,
          "reliability": 37,
          "schema": 65,
          "security": 58,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Developers who want Reflection's Beam in a terminal coding agent built alongside the model, or an open-source harness that also runs other providers and local endpoints.",
        "strengths": [
          "Apache-2.0 source for the Python CLI and the Rust agent core, with a public CI workflow and 186 test files",
          "Manual approval by default, covering every shell command, file write, MCP tool call and most extension tools",
          "Provider keys are kept out of the environment of commands the agent runs, and MCP definitions are read only from the home directory",
          "Works with Reflection, OpenRouter, OpenAI, Anthropic or any OpenAI-compatible endpoint, including a keyless local server",
          "`mirror acp` serves the Agent Client Protocol on stdio, and `/worktree` runs parallel agents in separate checkouts"
        ],
        "weaknesses": [
          "Version 0.1.0, released 16 October 2026 and labelled early beta, with no changelog or release tags",
          "Usage analytics go to Statsig by default, disclosed in a first-run notice but not in the docs or README",
          "No sandbox by default. The opt-in microVM sandbox covers file and shell tools only, and extensions and local MCP servers run on the host",
          "`mirror exec` prints only the final answer as plain text, with exit codes not documented and no budget or time limit",
          "Approval mode is saved globally, so switching to auto in one directory applies to later launches everywhere"
        ],
        "agentNotes": [
          "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",
          "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",
          "Set `--max-iterations` on unattended runs. Turns are unlimited by default",
          "Check the result with your own tests. `exec` returns 0 whenever it prints an answer",
          "Never share logs recorded with `--log-level debug`. The docs say they contain request headers with the API key"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.2
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 47,
          "payments": 60,
          "reliability": 37,
          "schema": 65,
          "security": 58,
          "transparency": 56
        },
        "provenanceScore": 60
      },
      "connect": {
        "install": "uv tool install reflection-mirror",
        "headless": {
          "command": "mirror exec --approval-mode auto --max-iterations 50 \"$TASK\"",
          "env": {
            "REFLECTION_API_KEY": "\u003cyour-key\u003e"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/reflection-mirror"
      },
      "sameCompany": [
        "reflection-beam"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Reflection AI, Inc.",
        "domain": "reflection.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": null,
        "terms": "https://reflection.ai/legal/commercial-terms-of-service",
        "privacy": "https://reflection.ai/legal/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-17",
        "notes": [
          "The software is under Apache-2.0 (LICENSE and NOTICE in the repository). The terms field is Reflection's Commercial Terms of Service, which cover the Reflection API that Mirror calls by default and say beta services are provided as is. The site Terms of Service (last updated 19 February 2025) cover the website only.",
          "The Privacy Policy, last updated 28 August 2026, names Reflection AI, Inc., 61 9th Ave, Floor 3, New York, NY 10011, and gives no fixed retention periods.",
          "RDAP for reflection.ai gives a registration date of 16 December 2017.",
          "No changelog or release notes were found for Mirror. The repository has no tags.",
          "reflection.ai/.well-known/security.txt and developers.reflection.ai/.well-known/security.txt return 404. The repository's SECURITY.md sends vulnerability reports to developers@reflection.ai.",
          "Mirror is software the owner runs, so no status page applies to it. The Reflection API's status page wasn't looked for here."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/reflection-mirror.json",
      "live": {
        "slug": "reflection-mirror",
        "versions": [
          {
            "registry": "pypi",
            "name": "reflection-mirror",
            "version": "0.1.0",
            "released": "2026-10-16",
            "seenAt": "2026-10-18T03:15:30.048962324Z"
          }
        ],
        "githubStars": 172,
        "pypiWeekly": 241,
        "securityTxt": {
          "url": "https://reflection.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-18T15:54:01.732242763Z"
        },
        "llmsTxt": {
          "url": "https://developers.reflection.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-18T14:25:58.593981866Z"
        },
        "domain": {
          "domain": "reflection.ai",
          "registered": "2017-12-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/reflection.ai",
          "checkedAt": "2026-10-18T13:37:18.291315896Z"
        },
        "updatedAt": "2026-10-18T15:54:01.732242763Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Google LLC",
        "b": "Reflection",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "8",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-03-09",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "2026-07-30",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-01",
        "b": "",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1.3k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2.8/5 (4)",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Mirror CLI scores 54.2 (C) on agent readiness against Jules's 44.5 (E), and leads in 5 of 7 scored categories. Jules leads on schema \u0026 documentation and agent ergonomics.",
        "question": "Which is better for AI agents, Jules or Mirror CLI?"
      },
      {
        "answer": "No open-source release is listed for Jules. Mirror CLI is open source (Apache-2.0).",
        "question": "Are Jules and Mirror CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 76 against 65",
          "Agent ergonomics, 64 against 58"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "A person or pipeline that wants to hand scoped GitHub tasks to a cloud agent and collect a pull request or a patch, or run a repoless job in a disposable VM.",
        "slug": "jules",
        "watchFor": "The REST API has been v1alpha since 3 October 2025 and the docs say specifications and API keys may change"
      },
      {
        "aheadOn": [
          "Reliability, 37 against 13",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 47 against 18",
          "Transparency \u0026 trust, 58 against 44"
        ],
        "also": [
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "Developers who want Reflection's Beam in a terminal coding agent built alongside the model, or an open-source harness that also runs other providers and local endpoints.",
        "slug": "reflection-mirror",
        "watchFor": "Version 0.1.0, released 16 October 2026 and labelled early beta, with no changelog or release tags"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-jules.json",
        "title": "Agent Zero vs Jules",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-reflection-mirror.json",
        "title": "Agent Zero vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-jules.json",
        "title": "Aider vs Jules",
        "url": "https://www.anchorterminal.com/compare/aider-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-reflection-mirror.json",
        "title": "Aider vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-jules.json",
        "title": "Amp vs Jules",
        "url": "https://www.anchorterminal.com/compare/amp-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-reflection-mirror.json",
        "title": "Amp vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-jules.json",
        "title": "Antigravity CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-reflection-mirror.json",
        "title": "Antigravity CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-jules.json",
        "title": "Auggie CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-reflection-mirror.json",
        "title": "Auggie CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-jules.json",
        "title": "Claude Code vs Jules",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-reflection-mirror.json",
        "title": "Claude Code vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-jules.json",
        "title": "Cline vs Jules",
        "url": "https://www.anchorterminal.com/compare/cline-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-reflection-mirror.json",
        "title": "Cline vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-jules.json",
        "title": "Crush vs Jules",
        "url": "https://www.anchorterminal.com/compare/crush-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-reflection-mirror.json",
        "title": "Crush vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-jules.json",
        "title": "Cursor CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-reflection-mirror.json",
        "title": "Cursor CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-jules.json",
        "title": "DeepSeek Harness (dsh) vs Jules",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-reflection-mirror.json",
        "title": "DeepSeek Harness (dsh) vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-jules.json",
        "title": "Devin vs Jules",
        "url": "https://www.anchorterminal.com/compare/devin-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-reflection-mirror.json",
        "title": "Devin vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-jules.json",
        "title": "Droid CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-reflection-mirror.json",
        "title": "Droid CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-jules.json",
        "title": "Pi vs Jules",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-reflection-mirror.json",
        "title": "Pi vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-jules.json",
        "title": "Gemini CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-reflection-mirror.json",
        "title": "Gemini CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-jules.json",
        "title": "GitHub Copilot CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-reflection-mirror.json",
        "title": "GitHub Copilot CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-jules.json",
        "title": "goose vs Jules",
        "url": "https://www.anchorterminal.com/compare/goose-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-reflection-mirror.json",
        "title": "goose vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-jules.json",
        "title": "Harness² vs Jules",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror.json",
        "title": "Harness² vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-jules.json",
        "title": "HarnessRouter vs Jules",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror.json",
        "title": "HarnessRouter vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-junie.json",
        "title": "Jules vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-kilo-code-cli.json",
        "title": "Jules vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-kimi-code-cli.json",
        "title": "Jules vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-kiro-cli.json",
        "title": "Jules vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-mini-swe-agent.json",
        "title": "Jules vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/jules-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-mistral-vibe-cli.json",
        "title": "Jules vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-muse-code.json",
        "title": "Jules vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/jules-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openai-codex.json",
        "title": "Jules vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-opencode.json",
        "title": "Jules vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/jules-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openhands.json",
        "title": "Jules vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-prime-agent.json",
        "title": "Jules vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/jules-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-qoder-cli.json",
        "title": "Jules vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-qwen-code.json",
        "title": "Jules vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/jules-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-rovo-dev-cli.json",
        "title": "Jules vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-warp.json",
        "title": "Jules vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/jules-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-reflection-mirror.json",
        "title": "Junie CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-reflection-mirror.json",
        "title": "Kilo Code CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-reflection-mirror.json",
        "title": "Kimi Code CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-reflection-mirror.json",
        "title": "Kiro CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-reflection-mirror.json",
        "title": "mini-swe-agent vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-reflection-mirror.json",
        "title": "Mistral Vibe CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-reflection-mirror.json",
        "title": "Muse Code vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-reflection-mirror.json",
        "title": "OpenAI Codex vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror.json",
        "title": "OpenCode vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.json",
        "title": "OpenHands vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-reflection-mirror.json",
        "title": "Prime Agent vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-reflection-mirror.json",
        "title": "Qoder CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror.json",
        "title": "Qwen Code vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-rovo-dev-cli.json",
        "title": "Mirror CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-warp.json",
        "title": "Mirror CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-jules.json",
        "title": "CLI Manager vs Jules",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-reflection-mirror.json",
        "title": "CLI Manager vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-jules.json",
        "title": "Harness vs Jules",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-reflection-mirror.json",
        "title": "Harness vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-paperclip.json",
        "title": "Jules vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/jules-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-parallax-agents.json",
        "title": "Jules vs Parallax",
        "url": "https://www.anchorterminal.com/compare/jules-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-reflection-mirror.json",
        "title": "Paperclip vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-reflection-mirror.json",
        "title": "Parallax vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-reflection-mirror"
      }
    ],
    "scores": [
      {
        "by": 24,
        "edge": "reflection-mirror",
        "jules": 13,
        "key": "reliability",
        "name": "Reliability",
        "reflection-mirror": 37,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "jules",
        "jules": 76,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "reflection-mirror": 65,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "jules",
        "jules": 64,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "reflection-mirror": 58,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "reflection-mirror",
        "jules": 57,
        "key": "security",
        "name": "Security \u0026 auth",
        "reflection-mirror": 58,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "reflection-mirror",
        "jules": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "reflection-mirror": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 29,
        "edge": "reflection-mirror",
        "jules": 18,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "reflection-mirror": 47,
        "weight": 7
      },
      {
        "by": 14,
        "edge": "reflection-mirror",
        "jules": 44,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "reflection-mirror": 58,
        "weight": 7
      }
    ],
    "summary": "Mirror CLI scores 54.2 (C) on agent readiness against Jules's 44.5 (E), and leads in 5 of 7 scored categories. Jules leads on schema \u0026 documentation and agent ergonomics. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "jules": "The API is described by a public Google discovery document, takes only a prompt to start a session, and logs every plan, shell command and diff as activities. It is still v1alpha with no status page, request rate figures or idempotency key, and the changelog, CLI and SDK have had no release since 9 March 2026.",
      "reflection-mirror": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/jules-vs-reflection-mirror",
    "json": "https://www.anchorterminal.com/compare/jules-vs-reflection-mirror.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/jules-vs-reflection-mirror.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/jules-vs-reflection-mirror.min.md"
  },
  "markdown": "Mirror CLI scores 54.2 (C) on agent readiness against Jules's 44.5 (E), and leads in 5 of 7 scored categories. Jules leads on schema \u0026 documentation and agent ergonomics. Both do agent harnesses.\n\n- Jules: grade E, 44.5/100, rank #1000 of 1146. Markdown https://www.anchorterminal.com/tools/jules.md · JSON https://www.anchorterminal.com/api/v1/tools/jules.json\n- Mirror CLI: grade C, 54.2/100, rank #772 of 1146. Markdown https://www.anchorterminal.com/tools/reflection-mirror.md · JSON https://www.anchorterminal.com/api/v1/tools/reflection-mirror.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 713 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### Jules (E)\n\nGood for: A person or pipeline that wants to hand scoped GitHub tasks to a cloud agent and collect a pull request or a patch, or run a repoless job in a disposable VM.\n\nAhead on:\n- Schema \u0026 documentation, 76 against 65\n- Agent ergonomics, 64 against 58\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: The REST API has been v1alpha since 3 October 2025 and the docs say specifications and API keys may change\n\n### Mirror CLI (C)\n\nGood for: Developers who want Reflection's Beam in a terminal coding agent built alongside the model, or an open-source harness that also runs other providers and local endpoints.\n\nAhead on:\n- Reliability, 37 against 13\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 47 against 18\n- Transparency \u0026 trust, 58 against 44\n\nAlso in its favour:\n- Free to start without a card\n- Open source\n\nWatch for: Version 0.1.0, released 16 October 2026 and labelled early beta, with no changelog or release tags\n\n\n## Score by category\n\n| Category | Weight | Jules | Mirror CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 13 | 37 | Mirror CLI +24 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 65 | Jules +11 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 58 | Jules +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 58 | Mirror CLI +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 60 | Mirror CLI +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 18 | 47 | Mirror CLI +29 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 44 | 58 | Mirror CLI +14 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **44.5 · E** | **54.2 · C** | |\n\n## Facts side by side\n\n| Fact | Jules | Mirror CLI |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Google LLC | Reflection |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP, stdio |  |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed | Apache-2.0 |\n| Tools exposed | 8 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-03-09 | 2026-10-16 |\n| Terms last updated | 2026-07-30 |  |\n| Privacy policy last updated | 2026-10-01 |  |\n| Customer content may train models | yes |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 1.3k npm/wk | none |\n| Agent reviews | 2.8/5 (4) | 3/5 (4) |\n\n## Verdicts\n\n**Jules.** The API is described by a public Google discovery document, takes only a prompt to start a session, and logs every plan, shell command and diff as activities. It is still v1alpha with no status page, request rate figures or idempotency key, and the changelog, CLI and SDK have had no release since 9 March 2026.\n\n**Mirror CLI.** 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.\n\n## Before you call either\n\n### Jules\n\n1. Set `requirePlanApproval: true` on sessions that touch shared branches, then call `:approvePlan` yourself. API sessions otherwise run their plan without review\n2. Session creation has no request ID. After a timeout, list sessions and match the prompt or title before creating another\n3. Poll activities with a `create_time` filter and cache them. Activities never change once written\n4. Read the request fields from the discovery document at https://jules.googleapis.com/$discovery/rest?version=v1alpha. The field tables on jules.google render empty\n5. Budget against the daily task quota of 15, 100 or 300 by plan. New sessions are refused until the rolling 24 hours reset\n\n### Mirror CLI\n\n1. 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\n2. 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\n3. Set `--max-iterations` on unattended runs. Turns are unlimited by default\n4. Check the result with your own tests. `exec` returns 0 whenever it prints an answer\n5. Never share logs recorded with `--log-level debug`. The docs say they contain request headers with the API key\n\n## Questions\n\n### Which is better for AI agents, Jules or Mirror CLI?\n\nMirror CLI scores 54.2 (C) on agent readiness against Jules's 44.5 (E), and leads in 5 of 7 scored categories. Jules leads on schema \u0026 documentation and agent ergonomics.\n\n### Are Jules and Mirror CLI open source?\n\nNo open-source release is listed for Jules. Mirror CLI is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/jules-vs-reflection-mirror.json, and with the fewest tokens: https://www.anchorterminal.com/compare/jules-vs-reflection-mirror.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"jules\", \"b\": \"reflection-mirror\"}`. From a terminal: `anchor compare jules reflection-mirror`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/jules.json and https://www.anchorterminal.com/api/v1/tools/reflection-mirror.json\n\n## Other comparisons with Jules or Mirror CLI\n\n- [Agent Zero vs Jules](https://www.anchorterminal.com/compare/agent-zero-vs-jules.md)\n- [Agent Zero vs Mirror CLI](https://www.anchorterminal.com/compare/agent-zero-vs-reflection-mirror.md)\n- [Aider vs Jules](https://www.anchorterminal.com/compare/aider-vs-jules.md)\n- [Aider vs Mirror CLI](https://www.anchorterminal.com/compare/aider-vs-reflection-mirror.md)\n- [Amp vs Jules](https://www.anchorterminal.com/compare/amp-vs-jules.md)\n- [Amp vs Mirror CLI](https://www.anchorterminal.com/compare/amp-vs-reflection-mirror.md)\n- [Antigravity CLI vs Jules](https://www.anchorterminal.com/compare/antigravity-cli-vs-jules.md)\n- [Antigravity CLI vs Mirror CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-reflection-mirror.md)\n- [Auggie CLI vs Jules](https://www.anchorterminal.com/compare/auggie-vs-jules.md)\n- [Auggie CLI vs Mirror CLI](https://www.anchorterminal.com/compare/auggie-vs-reflection-mirror.md)\n- [Claude Code vs Jules](https://www.anchorterminal.com/compare/claude-code-vs-jules.md)\n- [Claude Code vs Mirror CLI](https://www.anchorterminal.com/compare/claude-code-vs-reflection-mirror.md)\n- [Cline vs Jules](https://www.anchorterminal.com/compare/cline-vs-jules.md)\n- [Cline vs Mirror CLI](https://www.anchorterminal.com/compare/cline-vs-reflection-mirror.md)\n- [Crush vs Jules](https://www.anchorterminal.com/compare/crush-vs-jules.md)\n- [Crush vs Mirror CLI](https://www.anchorterminal.com/compare/crush-vs-reflection-mirror.md)\n- [Cursor CLI vs Jules](https://www.anchorterminal.com/compare/cursor-cli-vs-jules.md)\n- [Cursor CLI vs Mirror CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-reflection-mirror.md)\n- [DeepSeek Harness (dsh) vs Jules](https://www.anchorterminal.com/compare/deepseek-harness-vs-jules.md)\n- [DeepSeek Harness (dsh) vs Mirror CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-reflection-mirror.md)\n- [Devin vs Jules](https://www.anchorterminal.com/compare/devin-vs-jules.md)\n- [Devin vs Mirror CLI](https://www.anchorterminal.com/compare/devin-vs-reflection-mirror.md)\n- [Droid CLI vs Jules](https://www.anchorterminal.com/compare/droid-cli-vs-jules.md)\n- [Droid CLI vs Mirror CLI](https://www.anchorterminal.com/compare/droid-cli-vs-reflection-mirror.md)\n- [Pi vs Jules](https://www.anchorterminal.com/compare/earendil-pi-vs-jules.md)\n- [Pi vs Mirror CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-reflection-mirror.md)\n- [Gemini CLI vs Jules](https://www.anchorterminal.com/compare/gemini-cli-vs-jules.md)\n- [Gemini CLI vs Mirror CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-reflection-mirror.md)\n- [GitHub Copilot CLI vs Jules](https://www.anchorterminal.com/compare/github-copilot-cli-vs-jules.md)\n- [GitHub Copilot CLI vs Mirror CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-reflection-mirror.md)\n- [goose vs Jules](https://www.anchorterminal.com/compare/goose-vs-jules.md)\n- [goose vs Mirror CLI](https://www.anchorterminal.com/compare/goose-vs-reflection-mirror.md)\n- [Harness² vs Jules](https://www.anchorterminal.com/compare/harness2-vs-jules.md)\n- [Harness² vs Mirror CLI](https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror.md)\n- [HarnessRouter vs Jules](https://www.anchorterminal.com/compare/harnessrouter-vs-jules.md)\n- [HarnessRouter vs Mirror CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror.md)\n- [Jules vs Junie CLI](https://www.anchorterminal.com/compare/jules-vs-junie.md)\n- [Jules vs Kilo Code CLI](https://www.anchorterminal.com/compare/jules-vs-kilo-code-cli.md)\n- [Jules vs Kimi Code CLI](https://www.anchorterminal.com/compare/jules-vs-kimi-code-cli.md)\n- [Jules vs Kiro CLI](https://www.anchorterminal.com/compare/jules-vs-kiro-cli.md)\n- [Jules vs mini-swe-agent](https://www.anchorterminal.com/compare/jules-vs-mini-swe-agent.md)\n- [Jules vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/jules-vs-mistral-vibe-cli.md)\n- [Jules vs Muse Code](https://www.anchorterminal.com/compare/jules-vs-muse-code.md)\n- [Jules vs OpenAI Codex](https://www.anchorterminal.com/compare/jules-vs-openai-codex.md)\n- [Jules vs OpenCode](https://www.anchorterminal.com/compare/jules-vs-opencode.md)\n- [Jules vs OpenHands](https://www.anchorterminal.com/compare/jules-vs-openhands.md)\n- [Jules vs Prime Agent](https://www.anchorterminal.com/compare/jules-vs-prime-agent.md)\n- [Jules vs Qoder CLI](https://www.anchorterminal.com/compare/jules-vs-qoder-cli.md)\n- [Jules vs Qwen Code](https://www.anchorterminal.com/compare/jules-vs-qwen-code.md)\n- [Jules vs Rovo Dev CLI](https://www.anchorterminal.com/compare/jules-vs-rovo-dev-cli.md)\n- [Jules vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/jules-vs-warp.md)\n- [Junie CLI vs Mirror CLI](https://www.anchorterminal.com/compare/junie-vs-reflection-mirror.md)\n- [Kilo Code CLI vs Mirror CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-reflection-mirror.md)\n- [Kimi Code CLI vs Mirror CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-reflection-mirror.md)\n- [Kiro CLI vs Mirror CLI](https://www.anchorterminal.com/compare/kiro-cli-vs-reflection-mirror.md)\n- [mini-swe-agent vs Mirror CLI](https://www.anchorterminal.com/compare/mini-swe-agent-vs-reflection-mirror.md)\n- [Mistral Vibe CLI vs Mirror CLI](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-reflection-mirror.md)\n- [Muse Code vs Mirror CLI](https://www.anchorterminal.com/compare/muse-code-vs-reflection-mirror.md)\n- [OpenAI Codex vs Mirror CLI](https://www.anchorterminal.com/compare/openai-codex-vs-reflection-mirror.md)\n- [OpenCode vs Mirror CLI](https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror.md)\n- [OpenHands vs Mirror CLI](https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.md)\n- [Prime Agent vs Mirror CLI](https://www.anchorterminal.com/compare/prime-agent-vs-reflection-mirror.md)\n- [Qoder CLI vs Mirror CLI](https://www.anchorterminal.com/compare/qoder-cli-vs-reflection-mirror.md)\n- [Qwen Code vs Mirror CLI](https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror.md)\n- [Mirror CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/reflection-mirror-vs-rovo-dev-cli.md)\n- [Mirror CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/reflection-mirror-vs-warp.md)\n- [CLI Manager vs Jules](https://www.anchorterminal.com/compare/cli-manager-vs-jules.md)\n- [CLI Manager vs Mirror CLI](https://www.anchorterminal.com/compare/cli-manager-vs-reflection-mirror.md)\n- [Harness vs Jules](https://www.anchorterminal.com/compare/harness-autonomous-vs-jules.md)\n- [Harness vs Mirror CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-reflection-mirror.md)\n- [Jules vs Paperclip](https://www.anchorterminal.com/compare/jules-vs-paperclip.md)\n- [Jules vs Parallax](https://www.anchorterminal.com/compare/jules-vs-parallax-agents.md)\n- [Paperclip vs Mirror CLI](https://www.anchorterminal.com/compare/paperclip-vs-reflection-mirror.md)\n- [Parallax vs Mirror CLI](https://www.anchorterminal.com/compare/parallax-agents-vs-reflection-mirror.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-19",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Jules vs Mirror CLI",
        "url": ""
      }
    ],
    "description": "Mirror CLI scores 54.2 (C) to Jules's 44.5 (E) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Jules E 44.5",
      "Mirror CLI C 54.2",
      "scores"
    ],
    "h1": "Jules vs Mirror CLI",
    "image": "https://www.anchorterminal.com/assets/og/compare-jules-vs-reflection-mirror.png",
    "path": "/compare/jules-vs-reflection-mirror",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Jules vs Mirror CLI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-18",
    "url": "https://www.anchorterminal.com/compare/jules-vs-reflection-mirror"
  },
  "tokens": {
    "markdown": 3600,
    "slim": 680
  },
  "version": 1
}
