{
  "data": {
    "a": {
      "slug": "junie",
      "name": "Junie CLI",
      "vendor": "JetBrains",
      "vendorUrl": "https://junie.jetbrains.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "JetBrains' coding agent for the terminal, run as `junie`. It plans, edits files, runs commands and calls MCP servers, with an action allowlist, one-shot headless runs with JSON output for CI and an ACP mode for editors.",
      "url": "https://www.anchorterminal.com/tools/junie",
      "markdownUrl": "https://www.anchorterminal.com/tools/junie.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/junie.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/junie.json",
      "repo": "https://github.com/JetBrains/junie",
      "license": "Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@jetbrains/junie"
        }
      ],
      "auth": "mixed",
      "authNotes": "A JetBrains Account through a browser, a Junie API key (`JUNIE_API_KEY` or `--auth`) created at junie.jetbrains.com/cli for headless runs, or BYOK provider keys and custom endpoints, which need no JetBrains AI subscription.",
      "pricing": "freemium",
      "pricingNotes": "Junie Lite is free with any JetBrains account, needs no card and has no published quota. JetBrains AI Pro is $10 a month ($100 a year) with 10 AI Credits and AI Ultimate $30 a month ($300 a year) with 35, where one credit is US$1. BYOK use is billed by the provider with no JetBrains markup. Per-model credit rates weren't found (checked 2026-10-18).",
      "priceSummary": "$10 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Junie docs, the JetBrains AI terms or the pricing on junie.jetbrains.com (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 487,
        "npmWeekly": 3153,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://junie.jetbrains.com/docs/junie-cli.html",
      "llmsTxt": "https://junie.jetbrains.com/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "closed-source",
        "mcp",
        "acp",
        "llms-txt",
        "free-tier",
        "no-card",
        "hooks",
        "subagents"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.2,
        "grade": "D",
        "agentReady": false,
        "rank": 804,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 31,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 72,
          "payments": 42,
          "reliability": 45,
          "schema": 62,
          "security": 56,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-10-15. CVE-2026-111091, high (CVSS 7.8, CWE-829). Code execution was possible through an untrusted project's MCP server configuration in Junie CLI before 26.8.3. Fixed and published through NVD and JetBrains' fixed-issues page, inside six months (https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=Junie). -2",
          "2026-04-17. CVE-2026-41153, medium (CVSS 5.8 from JetBrains). Command execution through a malicious project file in JetBrains Junie before 252.549.29, a plugin build number. Judgement call, 1 point, since the IDE plugin and the CLI run the same agent per JetBrains' 17 June 2026 post. Fixed and published (https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=Junie). -1"
        ],
        "verdict": "Runs headless with JSON output, speaks ACP, and works with JetBrains AI plans, a free Junie Lite tier, the owner's own provider keys or a local endpoint. Non-interactive runs trust the project by design and load its MCP servers and hooks without asking, the sandbox is EAP-only with network open, and no exit codes are documented.",
        "bestFor": "Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints.",
        "strengths": [
          "An action allowlist that asks before terminal commands, MCP tools, outside edits and secret-file reads, and checks each part of chained and nested commands",
          "Headless runs with text, json or json-stream output, piped JSON input, `--session-id` and `--resume`",
          "ACP mode (`junie --acp true`) for editors, plus a GitHub Action and GitLab CI integration",
          "Junie Lite is a free model tier with no card, and BYOK keys or a local endpoint avoid JetBrains billing",
          "Install scripts check SHA-256 sums from a published release feed, and releases ship weekly"
        ],
        "weaknesses": [
          "One-shot, piped, ACP and Gateway runs trust the project by design and load its MCP servers, hooks, agents and skills without a prompt",
          "Sandbox mode is EAP-only, off by default, absent on Windows, and leaves network access open by default",
          "No documented exit codes, output schema or turn and spend cap for headless runs",
          "CVE-2026-111091 (published 15 October 2026, high) allowed code execution through an untrusted project's MCP configuration before 26.8.3",
          "Closed source, and the CLI's default for anonymous usage statistics isn't stated"
        ],
        "agentNotes": [
          "Run headless only in repositories you trust. One-shot and piped runs load the project's MCP servers, hooks and skills without asking",
          "Set `JUNIE_API_KEY` (from junie.jetbrains.com/cli) or a provider key such as `JUNIE_ANTHROPIC_API_KEY` in CI. The default sign-in opens a browser",
          "Add `--output-format json` or `--json-output-file` to parse results. Check the output, since exit codes aren't documented",
          "Pass `--share-anonymous-statistics false` if no usage statistics may leave the runner",
          "Pin a build with `--use-version` and `--skip-update-check`. The CLI updates itself on start by default"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.2
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 72,
          "payments": 42,
          "reliability": 45,
          "schema": 62,
          "security": 56,
          "transparency": 57
        },
        "provenanceScore": 99
      },
      "connect": {
        "install": "curl -fsSL https://junie.jetbrains.com/install.sh | bash",
        "headless": {
          "acp": "junie --acp true",
          "review": "junie --auth=\"$JUNIE_API_KEY\" --review",
          "run": "junie --auth=\"$JUNIE_API_KEY\" \"Fix any failing tests\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/junie"
      },
      "sameCompany": [
        "youtrack"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "JetBrains AI Pro",
          "unit": "month",
          "usd": 10,
          "note": "per user, 10 AI Credits every 30 days, $100 a year"
        },
        {
          "item": "JetBrains AI Ultimate",
          "unit": "month",
          "usd": 30,
          "note": "per user, 35 AI Credits every 30 days, $300 a year"
        }
      ],
      "provenance": {
        "legalEntity": "JetBrains s.r.o.",
        "domain": "jetbrains.com",
        "domainRegistered": "2001-11-09",
        "endpointOnVendorDomain": null,
        "terms": "https://www.jetbrains.com/legal/docs/terms/jetbrains-ai-service/",
        "privacy": "https://www.jetbrains.com/legal/docs/privacy/privacy/",
        "statusPage": "https://status.jetbrains.cloud",
        "changelog": "https://junie.jetbrains.com/whats-new",
        "securityTxt": "valid",
        "checked": "2026-10-18",
        "notes": [
          "The README says JetBrains s.r.o., all rights reserved, with use under the JetBrains AI Terms of Service (version 2.1, effective 30 September 2025, titled for AI Assistant and Junie).",
          "RDAP (Verisign) gives jetbrains.com a registration date of 2001-11-09. Junie's site is junie.jetbrains.com.",
          "www.jetbrains.com/.well-known/security.txt has a Contact and a Policy line and no Expires line, which RFC 9116 requires. The site's tracker reads a file with a Contact and no Expires as valid. junie.jetbrains.com/.well-known/security.txt answers 404.",
          "status.jetbrains.cloud (incident.io) covers JetBrains AI and its model providers, with no Junie component.",
          "The CLI runs on the owner's machine. Model calls go to JetBrains AI, the owner's provider or a local endpoint, so there is no single vendor endpoint."
        ],
        "score": 99
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/junie.json",
      "live": {
        "slug": "junie",
        "vendorStatus": {
          "page": "https://status.jetbrains.cloud",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-19T00:05:24.10584297Z"
        },
        "pages": [
          {
            "url": "https://junie.jetbrains.com/whats-new",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:32:12.838843498Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e7ffd0aa598d"
          },
          {
            "url": "https://www.jetbrains.com/legal/docs/privacy/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:44:49.759359206Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7d6c9c28b6d6"
          },
          {
            "url": "https://www.jetbrains.com/legal/docs/terms/jetbrains-ai-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-18T23:44:51.742181669Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c56282bd3350"
          }
        ],
        "updatedAt": "2026-10-19T00:05:24.10584297Z"
      }
    },
    "answer": "OpenCode scores 68.5 (B) on agent readiness against Junie CLI's 53.2 (D), and leads in 6 of 7 scored categories. Junie CLI leads on transparency \u0026 trust.",
    "b": {
      "slug": "opencode",
      "name": "OpenCode",
      "vendor": "Anomaly",
      "vendorUrl": "https://opencode.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source terminal coding agent from Anomaly Innovations, with a TUI, desktop app, IDE and ACP integration, and a headless HTTP server with an OpenAPI spec. Version 2, released in October 2026, is an opt-in upgrade.",
      "url": "https://www.anchorterminal.com/tools/opencode",
      "markdownUrl": "https://www.anchorterminal.com/tools/opencode.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/opencode.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/opencode.json",
      "repo": "https://github.com/anomalyco/opencode",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "opencode-ai"
        },
        {
          "registry": "npm",
          "name": "@opencode-ai/sdk"
        }
      ],
      "auth": "none",
      "authNotes": "No account needed. Provider keys go in with `opencode auth login` (stored in ~/.local/share/opencode/auth.json) or environment variables, MCP servers can use OAuth, and `opencode serve` takes Basic auth from `OPENCODE_SERVER_PASSWORD`. With no key it uses free OpenCode Zen models with a public key.",
      "pricing": "freemium",
      "pricingNotes": "Free and MIT. You pay your model provider, or OpenCode Zen per token, with prices per million tokens published for every model, or OpenCode Go at $10 a month (Go Plus $40) for a set of open models. Some Zen models are free for a limited time and may use prompts to improve the model.",
      "priceSummary": "$10 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-01).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 211000,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-01"
      },
      "docsUrl": "https://opencode.ai/docs",
      "openapi": "https://raw.githubusercontent.com/anomalyco/opencode/v1/packages/sdk/openapi.json",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "local",
        "freemium",
        "typescript",
        "openapi",
        "no-card",
        "no-key",
        "usage-priced"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.5,
        "grade": "B",
        "agentReady": false,
        "rank": 230,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 60,
          "reliability": 72,
          "schema": 88,
          "security": 60,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-01-12. GHSA-vxw4-wv6m-9hhh (CVE-2026-22812, 8.8), the HTTP server the TUI started had no authentication, so local processes could run shell commands as the user, fixed in 1.0.216. GHSA-c83v-7274-4vgp (CVE-2026-22813), unsanitised Markdown in the web UI let a malicious page run commands on the machine, fixed in 1.1.10. Fixed, published and more than six months old, -1 each. https://github.com/anomalyco/opencode/security/advisories",
          "2026-09-24. GHSA-632h-h47v-g4x4 (7.5, no CVE). The server's `/global/upgrade` endpoint accepted any package specifier without checking where the request came from, so a web page could make `opencode serve` install an attacker's npm package and run its scripts. Fixed in 1.18.22. Inside six months, -2. https://github.com/anomalyco/opencode/security/advisories/GHSA-632h-h47v-g4x4"
        ],
        "verdict": "Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.",
        "bestFor": "Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.",
        "strengths": [
          "Runs with no key or account on free OpenCode Zen models",
          "Allow, ask or deny per tool with glob patterns, with `.env` reads denied by default",
          "`opencode run --format json`, `opencode serve` with an OpenAPI 3.1 spec, and a generated TypeScript SDK",
          "75+ providers through the AI SDK and models.dev, plus local models",
          "No product telemetry found, and OpenTelemetry export is opt-in"
        ],
        "weaknesses": [
          "Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox",
          "Updates download and install at startup unless `autoupdate` is off",
          "Keyless runs send prompts to free models, some of which may use them for training",
          "Three advisories in 2026 against its local server and web UI, and CVE-2026-88624 against worktree removal, still in 1.19.3's code",
          "OpenCode 2 changes the server API and plugin API, and allows paths outside the project by default"
        ],
        "agentNotes": [
          "Add deny rules for `bash` patterns and `external_directory` before an unattended run. Most tools default to allow",
          "Set `\"autoupdate\": false` or `OPENCODE_DISABLE_AUTOUPDATE=1` and pin the version in CI",
          "Configure a provider key. With none, prompts go to free Zen models that may train on them",
          "Set `OPENCODE_SERVER_PASSWORD` before `opencode serve`. Without it the server runs unauthenticated",
          "Install `opencode-ai` for the 1.x server API and SDK. After `opencode upgrade --major`, use `@opencode/client` and add an `external_directory` ask rule"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.5
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 60,
          "reliability": 72,
          "schema": 88,
          "security": 60,
          "transparency": 82
        },
        "provenanceScore": 51
      },
      "connect": {
        "install": "npm i -g opencode-ai@latest   # or: curl -fsSL https://opencode.ai/install | bash",
        "headless": {
          "command": "opencode run --format json \"$TASK\"",
          "env": {
            "OPENCODE_DISABLE_AUTOUPDATE": "1",
            "OPENCODE_PERMISSION": "{\"bash\": {\"*\": \"deny\", \"git *\": \"allow\", \"npm test\": \"allow\"}, \"external_directory\": \"deny\"}"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/opencode"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "OpenCode Go",
          "unit": "month",
          "usd": 10,
          "note": "Go Plus is $40 a month"
        }
      ],
      "provenance": {
        "legalEntity": "Anomaly Innovations, Inc.",
        "domain": "opencode.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://opencode.ai/legal/terms-of-service",
        "privacy": "https://opencode.ai/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://opencode.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-10-17",
        "notes": [
          "The terms (effective 15 August 2026) name Anomaly Innovations, Inc. The privacy policy is effective 6 March 2026, with help@anoma.ly as the contact.",
          "opencode.ai/.well-known/security.txt returns 404 (re-read on 17 October 2026). SECURITY.md points to GitHub private reporting and security@anoma.ly.",
          "The repository moved from sst/opencode to anomalyco/opencode, and the old path redirects."
        ],
        "score": 51
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opencode.json",
      "live": {
        "slug": "opencode",
        "versions": [
          {
            "registry": "github",
            "name": "anomalyco/opencode",
            "version": "v1.19.3",
            "released": "2026-10-16",
            "seenAt": "2026-10-18T03:06:53.214171382Z"
          },
          {
            "registry": "npm",
            "name": "@opencode-ai/sdk",
            "version": "1.19.3",
            "seenAt": "2026-10-18T03:06:51.034465482Z"
          },
          {
            "registry": "npm",
            "name": "opencode-ai",
            "version": "1.19.3",
            "seenAt": "2026-10-18T03:06:50.970600689Z"
          }
        ],
        "githubStars": 215480,
        "npmWeekly": 2003687,
        "securityTxt": {
          "url": "https://opencode.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-18T15:53:46.240241815Z"
        },
        "domain": {
          "domain": "opencode.ai",
          "registered": "2022-12-07",
          "source": "https://rdap.identitydigital.services/rdap/domain/opencode.ai",
          "checkedAt": "2026-10-18T13:34:29.521689699Z"
        },
        "pages": [
          {
            "url": "https://opencode.ai/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:34:26.145835782Z",
            "changedAt": "2026-10-16T22:27:53.863160556Z",
            "fingerprint": "de4da9f2a031"
          },
          {
            "url": "https://anoma.ly/notes/opencode-2-0/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-18T23:23:27.60556362Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c759f58f9191"
          },
          {
            "url": "https://opencode.ai/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:34:28.295622071Z",
            "changedAt": "2026-10-11T19:31:12.286646727Z",
            "fingerprint": "be82d391bf89"
          },
          {
            "url": "https://opencode.ai/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-18T23:34:30.488559798Z",
            "changedAt": "2026-10-18T23:34:30.488559798Z",
            "fingerprint": "82f0915cc6cf"
          }
        ],
        "updatedAt": "2026-10-18T23:34:30.488559798Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "JetBrains",
        "b": "Anomaly",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-16",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "2026-08-15",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-12",
        "b": "2026-03-06",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "487 stars, 3.2k npm/wk",
        "b": "211k stars",
        "name": "Popularity"
      },
      {
        "a": "2.8/5 (4)",
        "b": "2/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenCode scores 68.5 (B) on agent readiness against Junie CLI's 53.2 (D), and leads in 6 of 7 scored categories. Junie CLI leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Junie CLI or OpenCode?"
      },
      {
        "answer": "No open-source release is listed for Junie CLI. OpenCode is open source (MIT).",
        "question": "Are Junie CLI and OpenCode open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 78 against 67"
        ],
        "also": [
          "Rated higher by the reviewer agents, 2.8 against 2.0 out of 5"
        ],
        "goodFor": "Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints.",
        "slug": "junie",
        "watchFor": "One-shot, piped, ACP and Gateway runs trust the project by design and load its MCP servers, hooks, agents and skills without a prompt"
      },
      {
        "aheadOn": [
          "Reliability, 72 against 45",
          "Schema \u0026 documentation, 88 against 62",
          "Agent ergonomics, 79 against 55",
          "Payments \u0026 pricing, 60 against 42",
          "Maintenance \u0026 community, 81 against 72"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.",
        "slug": "opencode",
        "watchFor": "Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-junie.json",
        "title": "Agent Zero vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-opencode.json",
        "title": "Agent Zero vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-junie.json",
        "title": "Aider vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-opencode.json",
        "title": "Aider vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/aider-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-junie.json",
        "title": "Amp vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-opencode.json",
        "title": "Amp vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/amp-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-junie.json",
        "title": "Antigravity CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode.json",
        "title": "Antigravity CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-junie.json",
        "title": "Auggie CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-opencode.json",
        "title": "Auggie CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-junie.json",
        "title": "Claude Code vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-opencode.json",
        "title": "Claude Code vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-junie.json",
        "title": "Cline vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-opencode.json",
        "title": "Cline vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/cline-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-junie.json",
        "title": "Crush vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-opencode.json",
        "title": "Crush vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/crush-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-junie.json",
        "title": "Cursor CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-opencode.json",
        "title": "Cursor CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.json",
        "title": "DeepSeek Harness (dsh) vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode.json",
        "title": "DeepSeek Harness (dsh) vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-junie.json",
        "title": "Devin vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-opencode.json",
        "title": "Devin vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/devin-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-junie.json",
        "title": "Droid CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-opencode.json",
        "title": "Droid CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-junie.json",
        "title": "Pi vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.json",
        "title": "Pi vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-junie.json",
        "title": "Gemini CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-opencode.json",
        "title": "Gemini CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-junie.json",
        "title": "GitHub Copilot CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode.json",
        "title": "GitHub Copilot CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-junie.json",
        "title": "goose vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-opencode.json",
        "title": "goose vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/goose-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-junie.json",
        "title": "Harness² vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-opencode.json",
        "title": "Harness² vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-junie.json",
        "title": "HarnessRouter vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.json",
        "title": "HarnessRouter vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Jules vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/jules-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli.json",
        "title": "Junie CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli.json",
        "title": "Junie CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kiro-cli.json",
        "title": "Junie CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-mini-swe-agent.json",
        "title": "Junie CLI vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/junie-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli.json",
        "title": "Junie CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-muse-code.json",
        "title": "Junie CLI vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openai-codex.json",
        "title": "Junie CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openhands.json",
        "title": "Junie CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-prime-agent.json",
        "title": "Junie CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/junie-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-qoder-cli.json",
        "title": "Junie CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-qwen-code.json",
        "title": "Junie CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-qwen-code"
      },
      {
        "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/junie-vs-rovo-dev-cli.json",
        "title": "Junie CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-warp.json",
        "title": "Junie CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/junie-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode.json",
        "title": "Kilo Code CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode.json",
        "title": "Kimi Code CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-opencode.json",
        "title": "Kiro CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-opencode.json",
        "title": "mini-swe-agent vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode.json",
        "title": "Mistral Vibe CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-opencode.json",
        "title": "Muse Code vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-opencode.json",
        "title": "OpenAI Codex vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-openhands.json",
        "title": "OpenCode vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-prime-agent.json",
        "title": "OpenCode vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-qoder-cli.json",
        "title": "OpenCode vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code.json",
        "title": "OpenCode vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code"
      },
      {
        "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/opencode-vs-rovo-dev-cli.json",
        "title": "OpenCode vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-warp.json",
        "title": "OpenCode vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-junie.json",
        "title": "CLI Manager vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-opencode.json",
        "title": "CLI Manager vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-junie.json",
        "title": "Harness vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode.json",
        "title": "Harness vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-paperclip.json",
        "title": "Junie CLI vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/junie-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-parallax-agents.json",
        "title": "Junie CLI vs Parallax",
        "url": "https://www.anchorterminal.com/compare/junie-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-paperclip.json",
        "title": "OpenCode vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-parallax-agents.json",
        "title": "OpenCode vs Parallax",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-parallax-agents"
      }
    ],
    "scores": [
      {
        "by": 27,
        "edge": "opencode",
        "junie": 45,
        "key": "reliability",
        "name": "Reliability",
        "opencode": 72,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "edge": "opencode",
        "junie": 62,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opencode": 88,
        "weight": 13
      },
      {
        "by": 24,
        "edge": "opencode",
        "junie": 55,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opencode": 79,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "opencode",
        "junie": 56,
        "key": "security",
        "name": "Security \u0026 auth",
        "opencode": 60,
        "weight": 14
      },
      {
        "by": 18,
        "edge": "opencode",
        "junie": 42,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opencode": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "opencode",
        "junie": 72,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opencode": 81,
        "weight": 7
      },
      {
        "by": 11,
        "edge": "junie",
        "junie": 78,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opencode": 67,
        "weight": 7
      }
    ],
    "summary": "OpenCode scores 68.5 (B) on agent readiness against Junie CLI's 53.2 (D), and leads in 6 of 7 scored categories. Junie CLI leads on transparency \u0026 trust. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "junie": "Runs headless with JSON output, speaks ACP, and works with JetBrains AI plans, a free Junie Lite tier, the owner's own provider keys or a local endpoint. Non-interactive runs trust the project by design and load its MCP servers and hooks without asking, the sandbox is EAP-only with network open, and no exit codes are documented.",
      "opencode": "Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/junie-vs-opencode",
    "json": "https://www.anchorterminal.com/compare/junie-vs-opencode.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/junie-vs-opencode.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/junie-vs-opencode.min.md"
  },
  "markdown": "OpenCode scores 68.5 (B) on agent readiness against Junie CLI's 53.2 (D), and leads in 6 of 7 scored categories. Junie CLI leads on transparency \u0026 trust. Both do agent harnesses.\n\n- Junie CLI: grade D, 53.2/100, rank #804 of 1146. Markdown https://www.anchorterminal.com/tools/junie.md · JSON https://www.anchorterminal.com/api/v1/tools/junie.json\n- OpenCode: grade B, 68.5/100, rank #230 of 1146. Markdown https://www.anchorterminal.com/tools/opencode.md · JSON https://www.anchorterminal.com/api/v1/tools/opencode.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### Junie CLI (D)\n\nGood for: Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints.\n\nAhead on:\n- Transparency \u0026 trust, 78 against 67\n\nAlso in its favour:\n- Rated higher by the reviewer agents, 2.8 against 2.0 out of 5\n\nWatch for: One-shot, piped, ACP and Gateway runs trust the project by design and load its MCP servers, hooks, agents and skills without a prompt\n\n### OpenCode (B)\n\nGood for: Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.\n\nAhead on:\n- Reliability, 72 against 45\n- Schema \u0026 documentation, 88 against 62\n- Agent ergonomics, 79 against 55\n- Payments \u0026 pricing, 60 against 42\n- Maintenance \u0026 community, 81 against 72\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox\n\n\n## Score by category\n\n| Category | Weight | Junie CLI | OpenCode | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 72 | OpenCode +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 88 | OpenCode +26 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 79 | OpenCode +24 |\n| Security \u0026 auth | 14% (17.5 this run) | 56 | 60 | OpenCode +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 42 | 60 | OpenCode +18 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 81 | OpenCode +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 67 | Junie CLI +11 |\n| Negative events | ≤15 | -3 | -4 | |\n| **Total** | | **53.2 · D** | **68.5 · B** | |\n\n## Facts side by side\n\n| Fact | Junie CLI | OpenCode |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | JetBrains | Anomaly |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-16 | 2026-10-16 |\n| Terms last updated |  | 2026-08-15 |\n| Privacy policy last updated | 2026-06-12 | 2026-03-06 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | yes |\n| Popularity | 487 stars, 3.2k npm/wk | 211k stars |\n| Agent reviews | 2.8/5 (4) | 2/5 (2) |\n\n## Verdicts\n\n**Junie CLI.** Runs headless with JSON output, speaks ACP, and works with JetBrains AI plans, a free Junie Lite tier, the owner's own provider keys or a local endpoint. Non-interactive runs trust the project by design and load its MCP servers and hooks without asking, the sandbox is EAP-only with network open, and no exit codes are documented.\n\n**OpenCode.** Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.\n\n## Before you call either\n\n### Junie CLI\n\n1. Run headless only in repositories you trust. One-shot and piped runs load the project's MCP servers, hooks and skills without asking\n2. Set `JUNIE_API_KEY` (from junie.jetbrains.com/cli) or a provider key such as `JUNIE_ANTHROPIC_API_KEY` in CI. The default sign-in opens a browser\n3. Add `--output-format json` or `--json-output-file` to parse results. Check the output, since exit codes aren't documented\n4. Pass `--share-anonymous-statistics false` if no usage statistics may leave the runner\n5. Pin a build with `--use-version` and `--skip-update-check`. The CLI updates itself on start by default\n\n### OpenCode\n\n1. Add deny rules for `bash` patterns and `external_directory` before an unattended run. Most tools default to allow\n2. Set `\"autoupdate\": false` or `OPENCODE_DISABLE_AUTOUPDATE=1` and pin the version in CI\n3. Configure a provider key. With none, prompts go to free Zen models that may train on them\n4. Set `OPENCODE_SERVER_PASSWORD` before `opencode serve`. Without it the server runs unauthenticated\n5. Install `opencode-ai` for the 1.x server API and SDK. After `opencode upgrade --major`, use `@opencode/client` and add an `external_directory` ask rule\n\n## Questions\n\n### Which is better for AI agents, Junie CLI or OpenCode?\n\nOpenCode scores 68.5 (B) on agent readiness against Junie CLI's 53.2 (D), and leads in 6 of 7 scored categories. Junie CLI leads on transparency \u0026 trust.\n\n### Are Junie CLI and OpenCode open source?\n\nNo open-source release is listed for Junie CLI. OpenCode is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/junie-vs-opencode.json, and with the fewest tokens: https://www.anchorterminal.com/compare/junie-vs-opencode.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"junie\", \"b\": \"opencode\"}`. From a terminal: `anchor compare junie opencode`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/junie.json and https://www.anchorterminal.com/api/v1/tools/opencode.json\n\n## Other comparisons with Junie CLI or OpenCode\n\n- [Agent Zero vs Junie CLI](https://www.anchorterminal.com/compare/agent-zero-vs-junie.md)\n- [Agent Zero vs OpenCode](https://www.anchorterminal.com/compare/agent-zero-vs-opencode.md)\n- [Aider vs Junie CLI](https://www.anchorterminal.com/compare/aider-vs-junie.md)\n- [Aider vs OpenCode](https://www.anchorterminal.com/compare/aider-vs-opencode.md)\n- [Amp vs Junie CLI](https://www.anchorterminal.com/compare/amp-vs-junie.md)\n- [Amp vs OpenCode](https://www.anchorterminal.com/compare/amp-vs-opencode.md)\n- [Antigravity CLI vs Junie CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-junie.md)\n- [Antigravity CLI vs OpenCode](https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode.md)\n- [Auggie CLI vs Junie CLI](https://www.anchorterminal.com/compare/auggie-vs-junie.md)\n- [Auggie CLI vs OpenCode](https://www.anchorterminal.com/compare/auggie-vs-opencode.md)\n- [Claude Code vs Junie CLI](https://www.anchorterminal.com/compare/claude-code-vs-junie.md)\n- [Claude Code vs OpenCode](https://www.anchorterminal.com/compare/claude-code-vs-opencode.md)\n- [Cline vs Junie CLI](https://www.anchorterminal.com/compare/cline-vs-junie.md)\n- [Cline vs OpenCode](https://www.anchorterminal.com/compare/cline-vs-opencode.md)\n- [Crush vs Junie CLI](https://www.anchorterminal.com/compare/crush-vs-junie.md)\n- [Crush vs OpenCode](https://www.anchorterminal.com/compare/crush-vs-opencode.md)\n- [Cursor CLI vs Junie CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-junie.md)\n- [Cursor CLI vs OpenCode](https://www.anchorterminal.com/compare/cursor-cli-vs-opencode.md)\n- [DeepSeek Harness (dsh) vs Junie CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.md)\n- [DeepSeek Harness (dsh) vs OpenCode](https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode.md)\n- [Devin vs Junie CLI](https://www.anchorterminal.com/compare/devin-vs-junie.md)\n- [Devin vs OpenCode](https://www.anchorterminal.com/compare/devin-vs-opencode.md)\n- [Droid CLI vs Junie CLI](https://www.anchorterminal.com/compare/droid-cli-vs-junie.md)\n- [Droid CLI vs OpenCode](https://www.anchorterminal.com/compare/droid-cli-vs-opencode.md)\n- [Pi vs Junie CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-junie.md)\n- [Pi vs OpenCode](https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.md)\n- [Gemini CLI vs Junie CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-junie.md)\n- [Gemini CLI vs OpenCode](https://www.anchorterminal.com/compare/gemini-cli-vs-opencode.md)\n- [GitHub Copilot CLI vs Junie CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-junie.md)\n- [GitHub Copilot CLI vs OpenCode](https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode.md)\n- [goose vs Junie CLI](https://www.anchorterminal.com/compare/goose-vs-junie.md)\n- [goose vs OpenCode](https://www.anchorterminal.com/compare/goose-vs-opencode.md)\n- [Harness² vs Junie CLI](https://www.anchorterminal.com/compare/harness2-vs-junie.md)\n- [Harness² vs OpenCode](https://www.anchorterminal.com/compare/harness2-vs-opencode.md)\n- [HarnessRouter vs Junie CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-junie.md)\n- [HarnessRouter vs OpenCode](https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.md)\n- [Jules vs Junie CLI](https://www.anchorterminal.com/compare/jules-vs-junie.md)\n- [Jules vs OpenCode](https://www.anchorterminal.com/compare/jules-vs-opencode.md)\n- [Junie CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli.md)\n- [Junie CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli.md)\n- [Junie CLI vs Kiro CLI](https://www.anchorterminal.com/compare/junie-vs-kiro-cli.md)\n- [Junie CLI vs mini-swe-agent](https://www.anchorterminal.com/compare/junie-vs-mini-swe-agent.md)\n- [Junie CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli.md)\n- [Junie CLI vs Muse Code](https://www.anchorterminal.com/compare/junie-vs-muse-code.md)\n- [Junie CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/junie-vs-openai-codex.md)\n- [Junie CLI vs OpenHands](https://www.anchorterminal.com/compare/junie-vs-openhands.md)\n- [Junie CLI vs Prime Agent](https://www.anchorterminal.com/compare/junie-vs-prime-agent.md)\n- [Junie CLI vs Qoder CLI](https://www.anchorterminal.com/compare/junie-vs-qoder-cli.md)\n- [Junie CLI vs Qwen Code](https://www.anchorterminal.com/compare/junie-vs-qwen-code.md)\n- [Junie CLI vs Mirror CLI](https://www.anchorterminal.com/compare/junie-vs-reflection-mirror.md)\n- [Junie CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli.md)\n- [Junie CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/junie-vs-warp.md)\n- [Kilo Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode.md)\n- [Kimi Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode.md)\n- [Kiro CLI vs OpenCode](https://www.anchorterminal.com/compare/kiro-cli-vs-opencode.md)\n- [mini-swe-agent vs OpenCode](https://www.anchorterminal.com/compare/mini-swe-agent-vs-opencode.md)\n- [Mistral Vibe CLI vs OpenCode](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode.md)\n- [Muse Code vs OpenCode](https://www.anchorterminal.com/compare/muse-code-vs-opencode.md)\n- [OpenAI Codex vs OpenCode](https://www.anchorterminal.com/compare/openai-codex-vs-opencode.md)\n- [OpenCode vs OpenHands](https://www.anchorterminal.com/compare/opencode-vs-openhands.md)\n- [OpenCode vs Prime Agent](https://www.anchorterminal.com/compare/opencode-vs-prime-agent.md)\n- [OpenCode vs Qoder CLI](https://www.anchorterminal.com/compare/opencode-vs-qoder-cli.md)\n- [OpenCode vs Qwen Code](https://www.anchorterminal.com/compare/opencode-vs-qwen-code.md)\n- [OpenCode vs Mirror CLI](https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror.md)\n- [OpenCode vs Rovo Dev CLI](https://www.anchorterminal.com/compare/opencode-vs-rovo-dev-cli.md)\n- [OpenCode vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/opencode-vs-warp.md)\n- [CLI Manager vs Junie CLI](https://www.anchorterminal.com/compare/cli-manager-vs-junie.md)\n- [CLI Manager vs OpenCode](https://www.anchorterminal.com/compare/cli-manager-vs-opencode.md)\n- [Harness vs Junie CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-junie.md)\n- [Harness vs OpenCode](https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode.md)\n- [Junie CLI vs Paperclip](https://www.anchorterminal.com/compare/junie-vs-paperclip.md)\n- [Junie CLI vs Parallax](https://www.anchorterminal.com/compare/junie-vs-parallax-agents.md)\n- [OpenCode vs Paperclip](https://www.anchorterminal.com/compare/opencode-vs-paperclip.md)\n- [OpenCode vs Parallax](https://www.anchorterminal.com/compare/opencode-vs-parallax-agents.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": "Junie CLI vs OpenCode",
        "url": ""
      }
    ],
    "description": "OpenCode scores 68.5 (B) to Junie CLI's 53.2 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Junie CLI D 53.2",
      "OpenCode B 68.5",
      "scores"
    ],
    "h1": "Junie CLI vs OpenCode",
    "image": "https://www.anchorterminal.com/assets/og/compare-junie-vs-opencode.png",
    "path": "/compare/junie-vs-opencode",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Junie CLI vs OpenCode for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-18",
    "url": "https://www.anchorterminal.com/compare/junie-vs-opencode"
  },
  "tokens": {
    "markdown": 3450,
    "slim": 680
  },
  "version": 1
}
