{
  "data": {
    "a": {
      "slug": "axlr",
      "name": "AXLR",
      "vendor": "Underpass AI",
      "vendorUrl": "https://axlr.underpassai.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source Go execution engine for agentic work from Underpass AI. A console with work modes and approval cards, an mTLS HTTP, gRPC and MCP service, a JSON worker and a Go library, with KMP memory and MADE procedures over MCP.",
      "url": "https://www.anchorterminal.com/tools/axlr",
      "markdownUrl": "https://www.anchorterminal.com/tools/axlr.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/axlr.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/axlr.json",
      "dns": "axlr.grade.anchorterminal.com",
      "repo": "https://github.com/underpass-ai/AXLR",
      "license": "Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder",
      "transports": [],
      "packages": [
        {
          "registry": "go",
          "name": "github.com/underpass-ai/AXLR"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/underpass-ai/axlr"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/underpass-ai/charts/axlr"
        }
      ],
      "auth": "mixed",
      "authNotes": "The console and the one-command `axlr-tui --exec` need a model route, an OpenRouter key (`OPENROUTER_API_KEY` or `credentials.json`, mode 0600), a local OpenAI-compatible server, or an Anthropic Messages or OpenAI Responses key in a `local_models` entry; the JSON worker and the library tests need no model account. The service, `axlr-serve`, requires TLS 1.3 and a client certificate signed by its CA whose SHA-256 fingerprint is mapped in a private principals file to a principal and the roles `session_client`, `approver`, `tool_operator` and `admin`; an unmapped certificate is forbidden, a session belongs to the principal that created it, and authentication never approves a tool by itself. MCP at `/mcp` is stateless and authenticated per request by the same certificate; gRPC uses the TLS peer certificate.",
      "pricing": "free",
      "pricingNotes": "Free and open source under Apache-2.0, with nothing to buy from Underpass AI. You pay your model provider (OpenRouter reports a cost per request, which the console's `/usage` and `max_session_usd` track) or run a local server at no charge; TypeSafe's Jev judge is optional and needs its own key. No hosted AXLR exists (checked 2026-11-01).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the repository, the OpenAPI file or the two sites (checked 2026-11-01). Nothing is sold.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-01"
      },
      "docsUrl": "https://axlr.underpassai.com/docs/",
      "openapi": "https://github.com/underpass-ai/AXLR/blob/main/api/openapi/axlr-v1.yaml",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "go",
        "cli",
        "mcp-client",
        "openapi",
        "grpc",
        "docker",
        "helm",
        "sandbox",
        "approvals",
        "pre-1.0",
        "new"
      ],
      "lastRelease": "2026-10-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 168,
        "ranked": true,
        "rankOf": 1253,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 79,
          "payments": 60,
          "reliability": 70,
          "schema": 80,
          "security": 62,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "A pre-1.0 Go harness with an unusually complete service contract, mutual TLS with principal roles, required idempotency keys, a policy, budget and sandbox per execution, and a result object a program can read. The console's defaults after setup are autonomy on and no sandbox, the project has one maintainer and no outside users yet, and releases carry no notes.",
        "bestFor": "A program or bot that needs one governed execution at a time, with a policy, a budget, a sandbox profile and correlation ids it sets itself and a result object it reads back, on a machine it controls, with the model on OpenRouter, a local server or a native Anthropic or OpenAI key.",
        "strengths": [
          "mTLS HTTP, gRPC and MCP service with four principal roles, `Idempotency-Key` required on turns, approvals and direct calls, and `expected_revision` on decisions",
          "A policy (observe, propose, act-with-approval, act-within-policy), a budget in seconds, requests, tool calls and dollars, and a bubblewrap or container sandbox with an enforced egress allow list, each per execution",
          "`axlr-tui --exec --json` runs one task headless and ends with a result object; exit 0 done, 3 waiting for a decision, 1 error",
          "OpenRouter, local OpenAI-compatible servers (llama.cpp, vLLM, Ollama, LM Studio), and the Anthropic Messages and OpenAI Responses APIs spoken directly",
          "21 releases in October 2026 from a workflow that tests on six native runners and refuses to republish different bytes, with a `.sha256` beside every archive"
        ],
        "weaknesses": [
          "The setup assistant turns autonomy on and leaves the exec sandbox off, so after setup the model's commands run with the person's rights, bar the destructive list",
          "Pre-1.0 with one maintainer, 0 stars and 10 open issues, all the founder's own trackers; releases have empty notes and there is no changelog",
          "The service needs KMP and MADE as remote gRPC services, a client CA and a principals file before a first session, and has no work modes, plugins or forged-tool setting yet",
          "No SECURITY.md, security.txt, advisories or disclosure route; the legal entity is not yet incorporated and no terms or privacy policy exist",
          "No llms.txt, and the Go library is the only SDK; the catalog registry answers every non-AXLR client with 403"
        ],
        "agentNotes": [
          "Before the first prompt, set `approvals.autonomous` to false or run with `--approve none`, and turn `exec_sandbox.mode` to `auto` or `required` on Linux; after setup both default the other way",
          "Drive a run with `axlr-tui --exec --json --policy \u003cfile\u003e --budget \u003cfile\u003e --sandbox \u003cfile\u003e` and read only the last `result` line; exit 3 means a call waits for `--decide approve|deny` with `--session \u003cid\u003e`",
          "On the service, send `Idempotency-Key` (16 to 128 safe ASCII characters) on every turn, approval and direct call, and pass the session's `expected_revision`; a reused key with a different body answers 409",
          "A local model must return native tool calls (llama.cpp with `--jinja`, vLLM with `--enable-auto-tool-choice`); set `context_tokens` on the entry and `OLLAMA_CONTEXT_LENGTH` for Ollama",
          "Leave `TYPESAFE_API_KEY` unset unless you want the setup assistant to switch Jev on, which sends requests and final answers to TypeSafe"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.6
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 79,
          "payments": 60,
          "reliability": 70,
          "schema": 80,
          "security": 62,
          "transparency": 68
        },
        "provenanceScore": 42,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "V=v0.15.0; OS=linux; ARCH=amd64; curl -fsSLO https://github.com/underpass-ai/AXLR/releases/download/$V/axlr-$V-$OS-$ARCH.tar.gz{,.sha256} \u0026\u0026 sha256sum -c axlr-$V-$OS-$ARCH.tar.gz.sha256 \u0026\u0026 tar xzf axlr-$V-$OS-$ARCH.tar.gz -C ~/.local/bin axlr axlr-tui axlr-serve   # or build from source with Go 1.26",
        "headless": {
          "command": "axlr-tui --root \"$PWD\" --exec \"$TASK\" --json --approve none --policy policy.json --budget budget.json --sandbox sandbox.json",
          "decide": "axlr-tui --session \u003cid\u003e --decide approve --json",
          "env": {
            "OPENROUTER_API_KEY": "\u003ckey\u003e"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/axlr"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "",
        "domain": "underpassai.com",
        "domainRegistered": "2025-08-10",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/underpass-ai/AXLR/releases",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "notes": [
          "No legal entity exists yet. underpassai.com's footer says Underpass AI is a startup project created by Tirso García Ibáñez and preparing incorporation as a Spanish limited liability company, that the technical assets are founder-owned and intended to be assigned to the company after incorporation, and that licence terms are in each repository's LICENSE and NOTICE. The NOTICE names Tirso García Ibáñez as copyright holder. Recorded as absent with that explanation.",
          "No terms of service or privacy policy on underpassai.com (sitemap lists the home page and one article) or axlr.underpassai.com. For local software the docs' 'Where data goes' and 'Diagnostics and privacy' sections stand in.",
          "RDAP for underpassai.com gives registration on 2025-08-10 with Route 53 nameservers. The GitHub organisation underpass-ai was created on 2025-08-09, location Spain, 16 public repositories. The AXLR repository was created on 2026-09-29; the first tag and release, v0.1.0, is dated 2026-10-04, which is firstReleased.",
          "https://underpassai.com/.well-known/security.txt and https://axlr.underpassai.com/.well-known/security.txt answer 404; the repository has no SECURITY.md. No status page (local software). The changelog is the GitHub releases list, whose entries carry no notes.",
          "robots.txt on underpassai.com and axlr.underpassai.com allow everything. registry.underpassai.com answers every path, robots.txt included, with 403 'forbidden: client is not AXLR', so nothing was read from it after that reply.",
          "The founder's LinkedIn URL is linked from underpassai.com and was not visited."
        ],
        "score": 42
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/axlr.json"
    },
    "answer": "AXLR scores 70.6 (BB) on agent readiness against Droid CLI's 59.2 (C), and leads in 4 of 7 scored categories. Droid CLI leads on transparency \u0026 trust.",
    "b": {
      "slug": "droid-cli",
      "name": "Droid CLI",
      "vendor": "Factory",
      "vendorUrl": "https://factory.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Droid CLI is Factory's closed-source coding agent for the terminal. It runs interactively or headless through `droid exec`, connects MCP servers, runs multi-agent Missions, and can be driven by TypeScript and Python SDKs. A paid Factory plan is required.",
      "url": "https://www.anchorterminal.com/tools/droid-cli",
      "markdownUrl": "https://www.anchorterminal.com/tools/droid-cli.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/droid-cli.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/droid-cli.json",
      "dns": "droid-cli.grade.anchorterminal.com",
      "repo": "https://github.com/Factory-AI/factory",
      "license": "Proprietary, under Factory's Terms and Conditions. The `droid` npm package is marked `UNLICENSED` and the public repository holds documentation only. The Python SDK is Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "droid"
        },
        {
          "registry": "npm",
          "name": "@factory/droid-sdk"
        },
        {
          "registry": "pypi",
          "name": "droid-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "A Factory account is required. The interactive CLI signs in through a browser with OAuth, and the docs say stored tokens rotate every 30 days. Headless runs set `FACTORY_API_KEY` to a key starting `fk-` created on the API keys page in Factory settings. Organisations can use service accounts whose keys can be rotated and revoked through an API.",
      "pricing": "paid",
      "pricingNotes": "Pro is $20 a month, Plus $100 and Max $200, each with the CLI, the Factory App and the SDK. Teams is $60 a month per team plus $40 a seat, and Business and Enterprise are by quote. Usage is capped by rolling 5-hour, 7-day and 30-day rate limits stated without numbers. Extra usage is prepaid credit from $10. No free tier or trial was found (checked 2026-10-09).",
      "priceSummary": "$20 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the pricing pages or the terms (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 49,
        "npmWeekly": 7766,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.factory.com/droid-cli/overview",
      "llmsTxt": "https://docs.factory.com/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "harness",
        "coding-agent",
        "cli",
        "closed-source",
        "mcp",
        "acp",
        "llms-txt",
        "sdk",
        "sandbox",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.2,
        "grade": "C",
        "agentReady": false,
        "rank": 653,
        "ranked": true,
        "rankOf": 1253,
        "categoryRank": 24,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 10,
          "reliability": 49,
          "schema": 79,
          "security": 63,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "`droid exec` is read-only unless `--auto` raises the autonomy level, with command rules, an optional kernel-enforced sandbox, JSON output and documented exit codes. No free tier, status page or security.txt was found, the source is closed, and usage metrics go to Factory by default.",
        "bestFor": "Teams that want a terminal coding agent with tiered autonomy, command rules and an optional sandbox, and that will pay for a Factory plan.",
        "strengths": [
          "`droid exec` is read-only by default. `--auto low`, `medium` or `high` opens edits and commands by risk tier, and a run that exceeds its level exits non-zero",
          "Optional OS sandbox using Seatbelt on macOS and bubblewrap with seccomp on Linux, with writes limited to the working directory and network limited to allowed domains",
          "Text, JSON and JSON-RPC output, exit codes 0, 1 and 2, session resume and fork, and tool lists that can be restricted per run",
          "llms.txt with a Markdown copy of every docs page, and a dated changelog with 62 entries between 11 July and 8 October 2026",
          "The install script verifies a SHA-256 checksum, and the `droid` npm package is published from GitHub Actions through a trusted publisher"
        ],
        "weaknesses": [
          "No free tier or trial was found. Plans start at $20 a month and included usage is stated only as rolling rate limits without numbers",
          "The sandbox is off until `sandbox.enabled` is set, and `--skip-permissions-unsafe` skips every permission prompt",
          "Usage metrics go to Factory's collector by default. The pages read give no opt-out outside an airgapped deployment",
          "Closed source on a 0.x version line with near-daily releases. The public tracker had 33 open issues on 9 October 2026, most with no reply",
          "No status page and no security.txt were found. The trust centre is drawn by script and was not read",
          "The individual terms forbid using the service for benchmarking or competitive analysis, which matters before any probe is run"
        ],
        "agentNotes": [
          "Set `FACTORY_API_KEY` (starts `fk-`) from the API keys page in Factory settings for headless runs. Interactive use signs in through a browser",
          "Start with `droid exec` and no flags for analysis. Add `--auto low` for edits and `--auto medium` for installs, tests and local commits",
          "Use `--output-format json` and read `is_error`, `num_turns` and `session_id`. Treat a non-zero exit code as failure",
          "Set `sandbox.enabled` to true before running on untrusted code. In `droid exec` a sandbox violation is denied without a prompt",
          "Pin the version in CI with `npm install -g droid@\u003cversion\u003e`, or set `FACTORY_DROID_AUTO_UPDATE_ENABLED=false` on standalone installs, which update themselves"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.2
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 10,
          "reliability": 49,
          "schema": 79,
          "security": 63,
          "transparency": 55
        },
        "provenanceScore": 74,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-09",
            "maintenance": "2026-10-09",
            "payments": "2026-10-09",
            "reliability": "2026-10-09",
            "schema": "2026-10-09",
            "security": "2026-10-09",
            "transparency": "2026-10-09"
          },
          "last": "2026-10-09",
          "lastMoved": "2026-10-28",
          "oldest": "2026-10-09",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "curl -fsSL https://app.factory.ai/cli | sh   # or: npm install -g droid",
        "headless": {
          "command": "droid exec --auto low --output-format json \"$TASK\"",
          "env": {
            "FACTORY_API_KEY": "fk-..."
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/droid-cli"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 20,
          "note": "rolling rate limits, numbers not published"
        },
        {
          "item": "Plus plan",
          "unit": "month",
          "usd": 100,
          "note": "about 5 times Pro usage"
        },
        {
          "item": "Max plan",
          "unit": "month",
          "usd": 200,
          "note": "about 10 times Pro usage"
        },
        {
          "item": "Teams seat",
          "unit": "seat-month",
          "usd": 40,
          "note": "plus $60 a month per team, up to 10 seats"
        }
      ],
      "provenance": {
        "legalEntity": "The San Francisco AI Factory, Inc.",
        "domain": "factory.com",
        "domainRegistered": "1999-03-09",
        "endpointOnVendorDomain": null,
        "terms": "https://factory.com/legal/terms-individual",
        "privacy": "https://factory.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://docs.factory.com/changelog/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms and Conditions for Individual Plans (last updated 14 July 2026) name The San Francisco AI Factory, Inc., a Delaware corporation in San Francisco. The privacy policy (last updated 20 August 2026) names the same company.",
          "RDAP (Verisign) gives factory.com a registration date of 1999-03-09, long before the company.",
          "The CLI installs from app.factory.ai and downloads.factory.ai and signs in to app.factory.ai, a second domain of the vendor's.",
          "factory.com/.well-known/security.txt answered 404 on 9 October 2026.",
          "No status page is linked from the home page, the docs support page or the other pages read. factory.com/sla states a 99 per cent availability target.",
          "The terms linked are those for individual plans. Organisation plans are sold under separate orders, which we did not read."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/droid-cli.json",
      "live": {
        "slug": "droid-cli",
        "versions": [
          {
            "registry": "npm",
            "name": "@factory/droid-sdk",
            "version": "0.10.0",
            "seenAt": "2026-11-01T16:55:58.459290172Z"
          },
          {
            "registry": "npm",
            "name": "droid",
            "version": "1.1.0",
            "seenAt": "2026-11-01T16:55:57.773916787Z"
          },
          {
            "registry": "pypi",
            "name": "droid-sdk",
            "version": "0.5.0",
            "released": "2026-09-24",
            "seenAt": "2026-11-01T16:56:00.020704374Z"
          }
        ],
        "githubStars": 76,
        "npmWeekly": 8811,
        "pypiWeekly": 36085,
        "securityTxt": {
          "url": "https://factory.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-01T15:42:12.100014992Z"
        },
        "llmsTxt": {
          "url": "https://docs.factory.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-01T15:13:36.840708897Z"
        },
        "domain": {
          "domain": "factory.com",
          "registered": "1999-03-09",
          "source": "https://rdap.verisign.com/com/v1/domain/factory.com",
          "checkedAt": "2026-11-01T14:12:16.331863461Z"
        },
        "pages": [
          {
            "url": "https://docs.factory.com/changelog/release-notes",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-01T06:41:37.301492971Z",
            "changedAt": "2026-10-31T06:09:53.899222036Z",
            "fingerprint": "e147b53e8d2d"
          },
          {
            "url": "https://factory.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-01T06:44:08.941066985Z",
            "changedAt": "2026-10-28T04:17:51.459180904Z",
            "fingerprint": "17940fbe56c2"
          },
          {
            "url": "https://factory.com/legal/terms-individual",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-01T06:44:06.849615337Z",
            "changedAt": "2026-10-28T04:17:49.064010902Z",
            "fingerprint": "1c5b8b9be877"
          }
        ],
        "github": {
          "repo": "factory-ai/factory",
          "checkedAt": "2026-10-26T07:27:08.858174523Z",
          "stars": 67,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-23T12:14:55Z",
          "openIssues": 39,
          "openPRs": 6,
          "issuesOpened90d": 43,
          "issuesClosed90d": 4,
          "prsMerged90d": 7,
          "ci": {
            "branch": "main",
            "runs": 6,
            "success": 5,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-23T12:15:00Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 22,
            "medianDays": 2.4
          }
        },
        "updatedAt": "2026-11-01T16:56:00.265837269Z"
      }
    },
    "edges": [
      {
        "by": 50,
        "category": "payments",
        "leads": "axlr",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No payment protocol (0). Free and Apache-2.0 with nothing to buy, so 20, 20 and 20 on the last three lines by the self-hosted rule, since the docs say what you pay your model provider, the free route needs no card, and it runs local models with no signup at all, the JSON worker without any model. 0+20+20+20 = 60.",
          "b": "Harness reading of the published rubric. This is paid, closed software tied to a subscription, so the self-hosted rule does not apply. No payment protocol (0). Plan prices are public, $20, $100 and $200 a month for individuals and $60 a team plus $40 a seat for Teams, but included usage is given only as rolling rate limits and multiples of Pro (10). No free tier or trial was found on the pricing pages. Using your own model key is free up to an allowance, but only on a paid plan (0). A person signs in through a browser to subscribe and to create the API key. The Service Accounts API can issue keys only inside an existing organisation (0)."
        },
        "scores": {
          "a": 60,
          "b": 10
        }
      },
      {
        "by": 21,
        "category": "reliability",
        "leads": "axlr",
        "name": "Reliability",
        "reasons": {
          "a": "Read as a local package, as claude-code, goose, opencode and openhands were. Release archives for Linux, macOS and Windows on amd64 and arm64 with a `.sha256` beside each, a GHCR image, an OCI Helm chart and source builds with Go 1.26, all stated in the docs; no Homebrew, npm or apt route (20). CI on main runs vet, race tests and a coverage gate above 80 per cent for both modules, with the sandbox tests required under bubblewrap, and the last ten runs on main to 1 November 2026 all passed; the release workflow tests on six native runners (25). 10 open issues, all opened by the founder on 19 and 21 October 2026 as trackers for service work (work modes, plugins, the sandbox setting, cost limits), none from an outside user and none a crash report, 0 open pull requests and about 100 merged; with 0 stars there is nobody else to report, so the handling of outside reports is untested (20). Tags are semver 0.x and the docs date each behaviour change inline (\"until 14 October 2026…\"), but the 21 releases have empty notes, there is no CHANGELOG.md, and the product contract records one retirement (the seven 1.0 skill definitions on 5 October 2026) without a notice period (5). Pre-1.0, which the README calls an evolving project (0). 20+25+20+5+0 = 70.",
          "b": "Local-package reading, as for the other closed-source harnesses. An install script that verifies a SHA-256 checksum, a PowerShell installer, a Homebrew cask and the `droid` npm package (Node 20 or later) with prebuilt binaries for Linux, macOS and Windows on x64 and arm64 (20). The source is not published. The public repository holds documentation only, so there is no public CI or test suite for the CLI (0). Bugs are tracked in the open at Factory-AI/factory, a repository created on 29 July 2026. On 9 October 2026 it had 33 open issues that are not pull requests, most with no reply, and three closed in the previous week with replies. Runs depend on Factory's servers, and we found no status page (10). Every release has a dated, versioned changelog entry and deprecations get their own section, but the line is 0.x with a minor version almost daily, so the version number does not signal a breaking change (9). The version is 0.237.0. The Feature Maturity page says a feature with no tag is generally available and stable, and the CLI pages carry no tag in the Markdown we read. Judgement call (10). The 99 per cent availability target on factory.com/sla is not scored on this reading."
        },
        "scores": {
          "a": 70,
          "b": 49
        }
      },
      {
        "by": 11,
        "category": "ergonomics",
        "leads": "axlr",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Harness reading of the framework line, scored on what a program driving it has to supply. Six local tools plus the host's bookkeeping tools; work modes and an execution policy hide the tools a run may not use, `axlr_catalog` searches the catalog instead of loading it, forged tools keep the request prefix for the prompt cache, and a context cap of 75,000 prompt tokens opens a successor session (20). `local_read`, `local_search` and `local_list` page with `offset`, `next_offset` and `max_bytes`; `StreamEvents` takes `after`, `max_events` (1 to 256) and `wait_ms`; a budget per execution in seconds, requests, tool calls and dollars; 32 tool calls a turn and `max_session_usd` (20). The `--exec` run ends in one `result` line with a status, the pending call, every call's outcome and the usage, and exits 0, 3 or 1; service errors carry codes an agent can act on; a budget stop says which limit (`budget: requests 20 reached`) and leaves the session resumable (16). `Idempotency-Key` on every turn, approval and direct call with cross-transport replay, `expected_revision` on decisions, `expected_sha256` on worker writes, and an interrupted effectful call left `uncertain` for an operator rather than retried (19). One command runs a task, but the first launch needs an OpenRouter key or a local server, the service needs a CA, a principals file and remote KMP and MADE before a first session, and the only SDK is the Go library (8). 20+20+16+19+8 = 83.",
          "b": "Harness reading of the framework line. `--restrict-tools`, `--disabled-tools`, `--additional-tools` and `--list-tools` control built-in tools per run, and `disabledTools` in `mcp.json` keeps named MCP tools out of context. We found nothing on deferred tool loading (18). Output is text, json, stream-json or stream-jsonrpc, and the JSON result carries turns and duration. The `droid exec` help lists no flag for a turn or spend limit (10). Exit codes 0, 1 and 2 are documented, and a run that exceeds its autonomy level stops with a non-zero code and no partial changes, per the docs (15). `--session-id` continues a session, `--fork` branches one, and `--worktree` isolates parallel runs (16). Headless runs are read-only without flags, and TypeScript and Python SDKs wrap the CLI. A run needs a paid Factory account and an API key (13)."
        },
        "scores": {
          "a": 83,
          "b": 72
        }
      },
      {
        "by": 10,
        "category": "transparency",
        "leads": "droid-cli",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Apache-2.0 with a NOTICE (30). No privacy policy or terms on underpassai.com or axlr.underpassai.com; the docs' 'Where data goes' and 'Diagnostics and privacy' sections say that model requests go to OpenRouter, the local server or the native API, that Jev sends text to TypeSafe only when on, that sessions live under `$XDG_STATE_HOME/axlr`, that payload capture is off by default and redacted when on, and that traces are deleted after 30 days; nothing covers the engine downloads' or the catalog registry's handling of a client's requests (15). No deprecation policy; pre-1.0 changes are dated inline in the docs and the product contract records the 5 October 2026 retirement of the first skill catalogue after the fact (6). No telemetry to disclose, and the docs say in two places what leaves the machine and how to stop payload capture, though no single page says there is no telemetry (17). 30+15+6+17 = 68.",
          "b": "Closed source under terms from The San Francisco AI Factory, Inc., last updated 14 July 2026. The npm package is marked `UNLICENSED` and the Python SDK is Apache-2.0 (15). The Data Flows page says where code, prompts and telemetry go in each deployment pattern, and the privacy policy (20 August 2026) lists service providers with the place of processing and keeps personal data up to 10 years after last use. Retention of Factory's operational logs is left to the trust centre, which we could not read, and whether session transcripts are stored in Factory's cloud on individual plans was not established (17). The terms promise commercially reasonable efforts to give 60 days' notice of major changes, the changelog has Deprecations sections, and the old command lists are deprecated but still honoured. A model retirement appeared in the changelog on the day it took effect, 11 August 2026 (12). The telemetry reference documents each metric and what reaches Factory, and `telemetry.granularity` can strip user identity. Metrics to Factory are on by default, with no opt-out found outside an airgapped deployment (11)."
        },
        "scores": {
          "a": 55,
          "b": 65
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Underpass AI",
        "b": "Factory",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder",
        "b": "Proprietary, under Factory's Terms and Conditions. The `droid` npm package is marked `UNLICENSED` and the public repository holds documentation only. The Python SDK is Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-25",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-07-14",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-08-20",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "0 stars",
        "b": "49 stars, 7.8k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "AXLR scores 70.6 (BB) on agent readiness against Droid CLI's 59.2 (C), and leads in 4 of 7 scored categories. Droid CLI leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, AXLR or Droid CLI?"
      },
      {
        "answer": "AXLR is open source (Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder). No open-source release is listed for Droid CLI.",
        "question": "Are AXLR and Droid CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 49",
          "Agent ergonomics, 83 against 72",
          "Payments \u0026 pricing, 60 against 10"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "A program or bot that needs one governed execution at a time, with a policy, a budget, a sandbox profile and correlation ids it sets itself and a result object it reads back, on a machine it controls, with the model on OpenRouter, a local server or a native Anthropic or OpenAI key.",
        "slug": "axlr",
        "watchFor": "The setup assistant turns autonomy on and leaves the exec sandbox off, so after setup the model's commands run with the person's rights, bar the destructive list"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 65 against 55"
        ],
        "also": null,
        "goodFor": "Teams that want a terminal coding agent with tiered autonomy, command rules and an optional sandbox, and that will pay for a Factory plan.",
        "slug": "droid-cli",
        "watchFor": "No free tier or trial was found. Plans start at $20 a month and included usage is stated only as rolling rate limits without numbers"
      }
    ],
    "history": {
      "axlr": null,
      "droid-cli": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 59.1,
          "fromGrade": "C",
          "to": 59.2,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-axlr.json",
        "title": "Agent Zero vs AXLR",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-axlr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-droid-cli.json",
        "title": "Agent Zero vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-axlr.json",
        "title": "Aider vs AXLR",
        "url": "https://www.anchorterminal.com/compare/aider-vs-axlr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-droid-cli.json",
        "title": "Aider vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-axlr.json",
        "title": "Amp vs AXLR",
        "url": "https://www.anchorterminal.com/compare/amp-vs-axlr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-droid-cli.json",
        "title": "Amp vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-axlr.json",
        "title": "Antigravity CLI vs AXLR",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-axlr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-droid-cli.json",
        "title": "Antigravity CLI vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-axlr.json",
        "title": "Auggie CLI vs AXLR",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-axlr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-droid-cli.json",
        "title": "Auggie CLI vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-claude-code.json",
        "title": "AXLR vs Claude Code",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-claude-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-cline.json",
        "title": "AXLR vs Cline",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-cline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-crush.json",
        "title": "AXLR vs Crush",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-cursor-cli.json",
        "title": "AXLR vs Cursor CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-cursor-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-deepseek-harness.json",
        "title": "AXLR vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-deepseek-superagent.json",
        "title": "AXLR vs dsh-superagent (DeepSeek)",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-deepseek-superagent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-devin.json",
        "title": "AXLR vs Devin",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-devin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-earendil-pi.json",
        "title": "AXLR vs Pi",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-gemini-cli.json",
        "title": "AXLR vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-github-copilot-cli.json",
        "title": "AXLR vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-goose.json",
        "title": "AXLR vs goose",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-harness2.json",
        "title": "AXLR vs Harness²",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-harnessrouter.json",
        "title": "AXLR vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-jules.json",
        "title": "AXLR vs Jules",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-junie.json",
        "title": "AXLR vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-kilo-code-cli.json",
        "title": "AXLR vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-kimi-code-cli.json",
        "title": "AXLR vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-kiro-cli.json",
        "title": "AXLR vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-mini-swe-agent.json",
        "title": "AXLR vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-minimax-code.json",
        "title": "AXLR vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-mistral-vibe-cli.json",
        "title": "AXLR vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-muse-code.json",
        "title": "AXLR vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-openai-codex.json",
        "title": "AXLR vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-opencode.json",
        "title": "AXLR vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-openhands.json",
        "title": "AXLR vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-openmausbot.json",
        "title": "AXLR vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-prime-agent.json",
        "title": "AXLR vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-qoder-cli.json",
        "title": "AXLR vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-qwen-code.json",
        "title": "AXLR vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-reflection-mirror.json",
        "title": "AXLR vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-rovo-dev-cli.json",
        "title": "AXLR vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-unstoppable.json",
        "title": "AXLR vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-vibe-trading.json",
        "title": "AXLR vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-warp.json",
        "title": "AXLR vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-droid-cli.json",
        "title": "Claude Code vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-droid-cli.json",
        "title": "Cline vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-droid-cli.json",
        "title": "Crush vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-droid-cli.json",
        "title": "Cursor CLI vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-droid-cli.json",
        "title": "DeepSeek Harness (dsh) vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-droid-cli.json",
        "title": "dsh-superagent (DeepSeek) vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-droid-cli.json",
        "title": "Devin vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.json",
        "title": "Droid CLI vs Pi",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-gemini-cli.json",
        "title": "Droid CLI vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-github-copilot-cli.json",
        "title": "Droid CLI vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-goose.json",
        "title": "Droid CLI vs goose",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-harness2.json",
        "title": "Droid CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter.json",
        "title": "Droid CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter"
      },
      {
        "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-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-kilo-code-cli.json",
        "title": "Droid CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-kimi-code-cli.json",
        "title": "Droid CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-kiro-cli.json",
        "title": "Droid CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-mini-swe-agent.json",
        "title": "Droid CLI vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-minimax-code.json",
        "title": "Droid CLI vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-mistral-vibe-cli.json",
        "title": "Droid CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-muse-code.json",
        "title": "Droid CLI vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-openai-codex.json",
        "title": "Droid CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openai-codex"
      },
      {
        "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/droid-cli-vs-openhands.json",
        "title": "Droid CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-openmausbot.json",
        "title": "Droid CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-prime-agent.json",
        "title": "Droid CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-qoder-cli.json",
        "title": "Droid CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-qwen-code.json",
        "title": "Droid CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-qwen-code"
      },
      {
        "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/droid-cli-vs-rovo-dev-cli.json",
        "title": "Droid CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-unstoppable.json",
        "title": "Droid CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-vibe-trading.json",
        "title": "Droid CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-warp.json",
        "title": "Droid CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-clawboo.json",
        "title": "AXLR vs Clawboo",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-clawboo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-cli-manager.json",
        "title": "AXLR vs CLI Manager",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-cli-manager"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-harness-autonomous.json",
        "title": "AXLR vs Harness",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-harness-autonomous"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-paperclip.json",
        "title": "AXLR vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-parallax-agents.json",
        "title": "AXLR vs Parallax",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-droid-cli.json",
        "title": "Clawboo vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-droid-cli.json",
        "title": "CLI Manager vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-harness-autonomous.json",
        "title": "Droid CLI vs Harness",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-harness-autonomous"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-paperclip.json",
        "title": "Droid CLI vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-parallax-agents.json",
        "title": "Droid CLI vs Parallax",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-parallax-agents"
      }
    ],
    "panel": null,
    "scores": [
      {
        "axlr": 70,
        "by": 21,
        "droid-cli": 49,
        "edge": "axlr",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "axlr": 80,
        "by": 1,
        "droid-cli": 79,
        "edge": "axlr",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "axlr": 83,
        "by": 11,
        "droid-cli": 72,
        "edge": "axlr",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "axlr": 62,
        "by": 1,
        "droid-cli": 63,
        "edge": "droid-cli",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "axlr": 60,
        "by": 50,
        "droid-cli": 10,
        "edge": "axlr",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "axlr": 79,
        "by": 0,
        "droid-cli": 79,
        "edge": "",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "axlr": 55,
        "by": 10,
        "droid-cli": 65,
        "edge": "droid-cli",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "AXLR scores 70.6 (BB) on agent readiness against Droid CLI's 59.2 (C), and leads in 4 of 7 scored categories. Droid CLI leads on transparency \u0026 trust. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "axlr": "A pre-1.0 Go harness with an unusually complete service contract, mutual TLS with principal roles, required idempotency keys, a policy, budget and sandbox per execution, and a result object a program can read. The console's defaults after setup are autonomy on and no sandbox, the project has one maintainer and no outside users yet, and releases carry no notes.",
      "droid-cli": "`droid exec` is read-only unless `--auto` raises the autonomy level, with command rules, an optional kernel-enforced sandbox, JSON output and documented exit codes. No free tier, status page or security.txt was found, the source is closed, and usage metrics go to Factory by default."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/axlr-vs-droid-cli",
    "json": "https://www.anchorterminal.com/compare/axlr-vs-droid-cli.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/axlr-vs-droid-cli.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/axlr-vs-droid-cli.min.md"
  },
  "markdown": "AXLR scores 70.6 (BB) on agent readiness against Droid CLI's 59.2 (C), and leads in 4 of 7 scored categories. Droid CLI leads on transparency \u0026 trust. Both do agent harnesses.\n\n- AXLR: grade BB, 70.6/100, rank #168 of 1253. Markdown https://www.anchorterminal.com/tools/axlr.md · JSON https://www.anchorterminal.com/api/v1/tools/axlr.json\n- Droid CLI: grade C, 59.2/100, rank #653 of 1253. Markdown https://www.anchorterminal.com/tools/droid-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/droid-cli.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 1000 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### AXLR (BB)\n\nGood for: A program or bot that needs one governed execution at a time, with a policy, a budget, a sandbox profile and correlation ids it sets itself and a result object it reads back, on a machine it controls, with the model on OpenRouter, a local server or a native Anthropic or OpenAI key.\n\nAhead on:\n- Reliability, 70 against 49\n- Agent ergonomics, 83 against 72\n- Payments \u0026 pricing, 60 against 10\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n- Open source\n\nWatch for: The setup assistant turns autonomy on and leaves the exec sandbox off, so after setup the model's commands run with the person's rights, bar the destructive list\n\n### Droid CLI (C)\n\nGood for: Teams that want a terminal coding agent with tiered autonomy, command rules and an optional sandbox, and that will pay for a Factory plan.\n\nAhead on:\n- Transparency \u0026 trust, 65 against 55\n\nWatch for: No free tier or trial was found. Plans start at $20 a month and included usage is stated only as rolling rate limits without numbers\n\n\n## Why the edge\n\n### Payments \u0026 pricing: AXLR +50\n\n- AXLR (60): No payment protocol (0). Free and Apache-2.0 with nothing to buy, so 20, 20 and 20 on the last three lines by the self-hosted rule, since the docs say what you pay your model provider, the free route needs no card, and it runs local models with no signup at all, the JSON worker without any model. 0+20+20+20 = 60.\n- Droid CLI (10): Harness reading of the published rubric. This is paid, closed software tied to a subscription, so the self-hosted rule does not apply. No payment protocol (0). Plan prices are public, $20, $100 and $200 a month for individuals and $60 a team plus $40 a seat for Teams, but included usage is given only as rolling rate limits and multiples of Pro (10). No free tier or trial was found on the pricing pages. Using your own model key is free up to an allowance, but only on a paid plan (0). A person signs in through a browser to subscribe and to create the API key. The Service Accounts API can issue keys only inside an existing organisation (0).\n\n### Reliability: AXLR +21\n\n- AXLR (70): Read as a local package, as claude-code, goose, opencode and openhands were. Release archives for Linux, macOS and Windows on amd64 and arm64 with a `.sha256` beside each, a GHCR image, an OCI Helm chart and source builds with Go 1.26, all stated in the docs; no Homebrew, npm or apt route (20). CI on main runs vet, race tests and a coverage gate above 80 per cent for both modules, with the sandbox tests required under bubblewrap, and the last ten runs on main to 1 November 2026 all passed; the release workflow tests on six native runners (25). 10 open issues, all opened by the founder on 19 and 21 October 2026 as trackers for service work (work modes, plugins, the sandbox setting, cost limits), none from an outside user and none a crash report, 0 open pull requests and about 100 merged; with 0 stars there is nobody else to report, so the handling of outside reports is untested (20). Tags are semver 0.x and the docs date each behaviour change inline (\"until 14 October 2026…\"), but the 21 releases have empty notes, there is no CHANGELOG.md, and the product contract records one retirement (the seven 1.0 skill definitions on 5 October 2026) without a notice period (5). Pre-1.0, which the README calls an evolving project (0). 20+25+20+5+0 = 70.\n- Droid CLI (49): Local-package reading, as for the other closed-source harnesses. An install script that verifies a SHA-256 checksum, a PowerShell installer, a Homebrew cask and the `droid` npm package (Node 20 or later) with prebuilt binaries for Linux, macOS and Windows on x64 and arm64 (20). The source is not published. The public repository holds documentation only, so there is no public CI or test suite for the CLI (0). Bugs are tracked in the open at Factory-AI/factory, a repository created on 29 July 2026. On 9 October 2026 it had 33 open issues that are not pull requests, most with no reply, and three closed in the previous week with replies. Runs depend on Factory's servers, and we found no status page (10). Every release has a dated, versioned changelog entry and deprecations get their own section, but the line is 0.x with a minor version almost daily, so the version number does not signal a breaking change (9). The version is 0.237.0. The Feature Maturity page says a feature with no tag is generally available and stable, and the CLI pages carry no tag in the Markdown we read. Judgement call (10). The 99 per cent availability target on factory.com/sla is not scored on this reading.\n\n### Agent ergonomics: AXLR +11\n\n- AXLR (83): Harness reading of the framework line, scored on what a program driving it has to supply. Six local tools plus the host's bookkeeping tools; work modes and an execution policy hide the tools a run may not use, `axlr_catalog` searches the catalog instead of loading it, forged tools keep the request prefix for the prompt cache, and a context cap of 75,000 prompt tokens opens a successor session (20). `local_read`, `local_search` and `local_list` page with `offset`, `next_offset` and `max_bytes`; `StreamEvents` takes `after`, `max_events` (1 to 256) and `wait_ms`; a budget per execution in seconds, requests, tool calls and dollars; 32 tool calls a turn and `max_session_usd` (20). The `--exec` run ends in one `result` line with a status, the pending call, every call's outcome and the usage, and exits 0, 3 or 1; service errors carry codes an agent can act on; a budget stop says which limit (`budget: requests 20 reached`) and leaves the session resumable (16). `Idempotency-Key` on every turn, approval and direct call with cross-transport replay, `expected_revision` on decisions, `expected_sha256` on worker writes, and an interrupted effectful call left `uncertain` for an operator rather than retried (19). One command runs a task, but the first launch needs an OpenRouter key or a local server, the service needs a CA, a principals file and remote KMP and MADE before a first session, and the only SDK is the Go library (8). 20+20+16+19+8 = 83.\n- Droid CLI (72): Harness reading of the framework line. `--restrict-tools`, `--disabled-tools`, `--additional-tools` and `--list-tools` control built-in tools per run, and `disabledTools` in `mcp.json` keeps named MCP tools out of context. We found nothing on deferred tool loading (18). Output is text, json, stream-json or stream-jsonrpc, and the JSON result carries turns and duration. The `droid exec` help lists no flag for a turn or spend limit (10). Exit codes 0, 1 and 2 are documented, and a run that exceeds its autonomy level stops with a non-zero code and no partial changes, per the docs (15). `--session-id` continues a session, `--fork` branches one, and `--worktree` isolates parallel runs (16). Headless runs are read-only without flags, and TypeScript and Python SDKs wrap the CLI. A run needs a paid Factory account and an API key (13).\n\n### Transparency \u0026 trust: Droid CLI +10\n\n- AXLR (55): Apache-2.0 with a NOTICE (30). No privacy policy or terms on underpassai.com or axlr.underpassai.com; the docs' 'Where data goes' and 'Diagnostics and privacy' sections say that model requests go to OpenRouter, the local server or the native API, that Jev sends text to TypeSafe only when on, that sessions live under `$XDG_STATE_HOME/axlr`, that payload capture is off by default and redacted when on, and that traces are deleted after 30 days; nothing covers the engine downloads' or the catalog registry's handling of a client's requests (15). No deprecation policy; pre-1.0 changes are dated inline in the docs and the product contract records the 5 October 2026 retirement of the first skill catalogue after the fact (6). No telemetry to disclose, and the docs say in two places what leaves the machine and how to stop payload capture, though no single page says there is no telemetry (17). 30+15+6+17 = 68.\n- Droid CLI (65): Closed source under terms from The San Francisco AI Factory, Inc., last updated 14 July 2026. The npm package is marked `UNLICENSED` and the Python SDK is Apache-2.0 (15). The Data Flows page says where code, prompts and telemetry go in each deployment pattern, and the privacy policy (20 August 2026) lists service providers with the place of processing and keeps personal data up to 10 years after last use. Retention of Factory's operational logs is left to the trust centre, which we could not read, and whether session transcripts are stored in Factory's cloud on individual plans was not established (17). The terms promise commercially reasonable efforts to give 60 days' notice of major changes, the changelog has Deprecations sections, and the old command lists are deprecated but still honoured. A model retirement appeared in the changelog on the day it took effect, 11 August 2026 (12). The telemetry reference documents each metric and what reaches Factory, and `telemetry.granularity` can strip user identity. Metrics to Factory are on by default, with no opt-out found outside an airgapped deployment (11).\n\n## Score by category\n\n| Category | Weight | AXLR | Droid CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 49 | AXLR +21 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 79 | AXLR +1 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 72 | AXLR +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 63 | Droid CLI +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 10 | AXLR +50 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 79 | 79 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 65 | Droid CLI +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70.6 · BB** | **59.2 · C** | |\n\n## Facts side by side\n\n| Fact | AXLR | Droid CLI |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Underpass AI | Factory |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Free | Paid |\n| x402 | no | no |\n| Licence | Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder | Proprietary, under Factory's Terms and Conditions. The `droid` npm package is marked `UNLICENSED` and the public repository holds documentation only. The Python SDK is Apache-2.0 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-10-25 | 2026-10-08 |\n| Terms last updated | no document linked | 2026-07-14 |\n| Privacy policy last updated | no document linked | 2026-08-20 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | yes |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | yes |\n| Popularity | 0 stars | 49 stars, 7.8k npm/wk |\n\n## How the scores have moved\n\n### AXLR\n\nNo score change since it was listed.\n\n### Droid CLI\n\n- +0.1 on 28 October 2026: checklist\n\n## Verdicts\n\n**AXLR.** A pre-1.0 Go harness with an unusually complete service contract, mutual TLS with principal roles, required idempotency keys, a policy, budget and sandbox per execution, and a result object a program can read. The console's defaults after setup are autonomy on and no sandbox, the project has one maintainer and no outside users yet, and releases carry no notes.\n\n**Droid CLI.** `droid exec` is read-only unless `--auto` raises the autonomy level, with command rules, an optional kernel-enforced sandbox, JSON output and documented exit codes. No free tier, status page or security.txt was found, the source is closed, and usage metrics go to Factory by default.\n\n## Before you call either\n\n### AXLR\n\n1. Before the first prompt, set `approvals.autonomous` to false or run with `--approve none`, and turn `exec_sandbox.mode` to `auto` or `required` on Linux; after setup both default the other way\n2. Drive a run with `axlr-tui --exec --json --policy \u003cfile\u003e --budget \u003cfile\u003e --sandbox \u003cfile\u003e` and read only the last `result` line; exit 3 means a call waits for `--decide approve|deny` with `--session \u003cid\u003e`\n3. On the service, send `Idempotency-Key` (16 to 128 safe ASCII characters) on every turn, approval and direct call, and pass the session's `expected_revision`; a reused key with a different body answers 409\n4. A local model must return native tool calls (llama.cpp with `--jinja`, vLLM with `--enable-auto-tool-choice`); set `context_tokens` on the entry and `OLLAMA_CONTEXT_LENGTH` for Ollama\n5. Leave `TYPESAFE_API_KEY` unset unless you want the setup assistant to switch Jev on, which sends requests and final answers to TypeSafe\n\n### Droid CLI\n\n1. Set `FACTORY_API_KEY` (starts `fk-`) from the API keys page in Factory settings for headless runs. Interactive use signs in through a browser\n2. Start with `droid exec` and no flags for analysis. Add `--auto low` for edits and `--auto medium` for installs, tests and local commits\n3. Use `--output-format json` and read `is_error`, `num_turns` and `session_id`. Treat a non-zero exit code as failure\n4. Set `sandbox.enabled` to true before running on untrusted code. In `droid exec` a sandbox violation is denied without a prompt\n5. Pin the version in CI with `npm install -g droid@\u003cversion\u003e`, or set `FACTORY_DROID_AUTO_UPDATE_ENABLED=false` on standalone installs, which update themselves\n\n## Questions\n\n### Which is better for AI agents, AXLR or Droid CLI?\n\nAXLR scores 70.6 (BB) on agent readiness against Droid CLI's 59.2 (C), and leads in 4 of 7 scored categories. Droid CLI leads on transparency \u0026 trust.\n\n### Are AXLR and Droid CLI open source?\n\nAXLR is open source (Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder). No open-source release is listed for Droid CLI.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/axlr-vs-droid-cli.json, and with the fewest tokens: https://www.anchorterminal.com/compare/axlr-vs-droid-cli.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"axlr\", \"b\": \"droid-cli\"}`. From a terminal: `anchor compare axlr droid-cli`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/axlr.json and https://www.anchorterminal.com/api/v1/tools/droid-cli.json\n\n## Other comparisons with AXLR or Droid CLI\n\n- [Agent Zero vs AXLR](https://www.anchorterminal.com/compare/agent-zero-vs-axlr.md)\n- [Agent Zero vs Droid CLI](https://www.anchorterminal.com/compare/agent-zero-vs-droid-cli.md)\n- [Aider vs AXLR](https://www.anchorterminal.com/compare/aider-vs-axlr.md)\n- [Aider vs Droid CLI](https://www.anchorterminal.com/compare/aider-vs-droid-cli.md)\n- [Amp vs AXLR](https://www.anchorterminal.com/compare/amp-vs-axlr.md)\n- [Amp vs Droid CLI](https://www.anchorterminal.com/compare/amp-vs-droid-cli.md)\n- [Antigravity CLI vs AXLR](https://www.anchorterminal.com/compare/antigravity-cli-vs-axlr.md)\n- [Antigravity CLI vs Droid CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-droid-cli.md)\n- [Auggie CLI vs AXLR](https://www.anchorterminal.com/compare/auggie-vs-axlr.md)\n- [Auggie CLI vs Droid CLI](https://www.anchorterminal.com/compare/auggie-vs-droid-cli.md)\n- [AXLR vs Claude Code](https://www.anchorterminal.com/compare/axlr-vs-claude-code.md)\n- [AXLR vs Cline](https://www.anchorterminal.com/compare/axlr-vs-cline.md)\n- [AXLR vs Crush](https://www.anchorterminal.com/compare/axlr-vs-crush.md)\n- [AXLR vs Cursor CLI](https://www.anchorterminal.com/compare/axlr-vs-cursor-cli.md)\n- [AXLR vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/axlr-vs-deepseek-harness.md)\n- [AXLR vs dsh-superagent (DeepSeek)](https://www.anchorterminal.com/compare/axlr-vs-deepseek-superagent.md)\n- [AXLR vs Devin](https://www.anchorterminal.com/compare/axlr-vs-devin.md)\n- [AXLR vs Pi](https://www.anchorterminal.com/compare/axlr-vs-earendil-pi.md)\n- [AXLR vs Gemini CLI](https://www.anchorterminal.com/compare/axlr-vs-gemini-cli.md)\n- [AXLR vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/axlr-vs-github-copilot-cli.md)\n- [AXLR vs goose](https://www.anchorterminal.com/compare/axlr-vs-goose.md)\n- [AXLR vs Harness²](https://www.anchorterminal.com/compare/axlr-vs-harness2.md)\n- [AXLR vs HarnessRouter](https://www.anchorterminal.com/compare/axlr-vs-harnessrouter.md)\n- [AXLR vs Jules](https://www.anchorterminal.com/compare/axlr-vs-jules.md)\n- [AXLR vs Junie CLI](https://www.anchorterminal.com/compare/axlr-vs-junie.md)\n- [AXLR vs Kilo Code CLI](https://www.anchorterminal.com/compare/axlr-vs-kilo-code-cli.md)\n- [AXLR vs Kimi Code CLI](https://www.anchorterminal.com/compare/axlr-vs-kimi-code-cli.md)\n- [AXLR vs Kiro CLI](https://www.anchorterminal.com/compare/axlr-vs-kiro-cli.md)\n- [AXLR vs mini-swe-agent](https://www.anchorterminal.com/compare/axlr-vs-mini-swe-agent.md)\n- [AXLR vs MiniMax Code](https://www.anchorterminal.com/compare/axlr-vs-minimax-code.md)\n- [AXLR vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/axlr-vs-mistral-vibe-cli.md)\n- [AXLR vs Muse Code](https://www.anchorterminal.com/compare/axlr-vs-muse-code.md)\n- [AXLR vs OpenAI Codex](https://www.anchorterminal.com/compare/axlr-vs-openai-codex.md)\n- [AXLR vs OpenCode](https://www.anchorterminal.com/compare/axlr-vs-opencode.md)\n- [AXLR vs OpenHands](https://www.anchorterminal.com/compare/axlr-vs-openhands.md)\n- [AXLR vs OpenMausBot](https://www.anchorterminal.com/compare/axlr-vs-openmausbot.md)\n- [AXLR vs Prime Agent](https://www.anchorterminal.com/compare/axlr-vs-prime-agent.md)\n- [AXLR vs Qoder CLI](https://www.anchorterminal.com/compare/axlr-vs-qoder-cli.md)\n- [AXLR vs Qwen Code](https://www.anchorterminal.com/compare/axlr-vs-qwen-code.md)\n- [AXLR vs Mirror CLI](https://www.anchorterminal.com/compare/axlr-vs-reflection-mirror.md)\n- [AXLR vs Rovo Dev CLI](https://www.anchorterminal.com/compare/axlr-vs-rovo-dev-cli.md)\n- [AXLR vs Unstoppable](https://www.anchorterminal.com/compare/axlr-vs-unstoppable.md)\n- [AXLR vs Vibe-Trading](https://www.anchorterminal.com/compare/axlr-vs-vibe-trading.md)\n- [AXLR vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/axlr-vs-warp.md)\n- [Claude Code vs Droid CLI](https://www.anchorterminal.com/compare/claude-code-vs-droid-cli.md)\n- [Cline vs Droid CLI](https://www.anchorterminal.com/compare/cline-vs-droid-cli.md)\n- [Crush vs Droid CLI](https://www.anchorterminal.com/compare/crush-vs-droid-cli.md)\n- [Cursor CLI vs Droid CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-droid-cli.md)\n- [DeepSeek Harness (dsh) vs Droid CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-droid-cli.md)\n- [dsh-superagent (DeepSeek) vs Droid CLI](https://www.anchorterminal.com/compare/deepseek-superagent-vs-droid-cli.md)\n- [Devin vs Droid CLI](https://www.anchorterminal.com/compare/devin-vs-droid-cli.md)\n- [Droid CLI vs Pi](https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.md)\n- [Droid CLI vs Gemini CLI](https://www.anchorterminal.com/compare/droid-cli-vs-gemini-cli.md)\n- [Droid CLI vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/droid-cli-vs-github-copilot-cli.md)\n- [Droid CLI vs goose](https://www.anchorterminal.com/compare/droid-cli-vs-goose.md)\n- [Droid CLI vs Harness²](https://www.anchorterminal.com/compare/droid-cli-vs-harness2.md)\n- [Droid CLI vs HarnessRouter](https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter.md)\n- [Droid CLI vs Jules](https://www.anchorterminal.com/compare/droid-cli-vs-jules.md)\n- [Droid CLI vs Junie CLI](https://www.anchorterminal.com/compare/droid-cli-vs-junie.md)\n- [Droid CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/droid-cli-vs-kilo-code-cli.md)\n- [Droid CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/droid-cli-vs-kimi-code-cli.md)\n- [Droid CLI vs Kiro CLI](https://www.anchorterminal.com/compare/droid-cli-vs-kiro-cli.md)\n- [Droid CLI vs mini-swe-agent](https://www.anchorterminal.com/compare/droid-cli-vs-mini-swe-agent.md)\n- [Droid CLI vs MiniMax Code](https://www.anchorterminal.com/compare/droid-cli-vs-minimax-code.md)\n- [Droid CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/droid-cli-vs-mistral-vibe-cli.md)\n- [Droid CLI vs Muse Code](https://www.anchorterminal.com/compare/droid-cli-vs-muse-code.md)\n- [Droid CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/droid-cli-vs-openai-codex.md)\n- [Droid CLI vs OpenCode](https://www.anchorterminal.com/compare/droid-cli-vs-opencode.md)\n- [Droid CLI vs OpenHands](https://www.anchorterminal.com/compare/droid-cli-vs-openhands.md)\n- [Droid CLI vs OpenMausBot](https://www.anchorterminal.com/compare/droid-cli-vs-openmausbot.md)\n- [Droid CLI vs Prime Agent](https://www.anchorterminal.com/compare/droid-cli-vs-prime-agent.md)\n- [Droid CLI vs Qoder CLI](https://www.anchorterminal.com/compare/droid-cli-vs-qoder-cli.md)\n- [Droid CLI vs Qwen Code](https://www.anchorterminal.com/compare/droid-cli-vs-qwen-code.md)\n- [Droid CLI vs Mirror CLI](https://www.anchorterminal.com/compare/droid-cli-vs-reflection-mirror.md)\n- [Droid CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/droid-cli-vs-rovo-dev-cli.md)\n- [Droid CLI vs Unstoppable](https://www.anchorterminal.com/compare/droid-cli-vs-unstoppable.md)\n- [Droid CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/droid-cli-vs-vibe-trading.md)\n- [Droid CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/droid-cli-vs-warp.md)\n- [AXLR vs Clawboo](https://www.anchorterminal.com/compare/axlr-vs-clawboo.md)\n- [AXLR vs CLI Manager](https://www.anchorterminal.com/compare/axlr-vs-cli-manager.md)\n- [AXLR vs Harness](https://www.anchorterminal.com/compare/axlr-vs-harness-autonomous.md)\n- [AXLR vs Paperclip](https://www.anchorterminal.com/compare/axlr-vs-paperclip.md)\n- [AXLR vs Parallax](https://www.anchorterminal.com/compare/axlr-vs-parallax-agents.md)\n- [Clawboo vs Droid CLI](https://www.anchorterminal.com/compare/clawboo-vs-droid-cli.md)\n- [CLI Manager vs Droid CLI](https://www.anchorterminal.com/compare/cli-manager-vs-droid-cli.md)\n- [Droid CLI vs Harness](https://www.anchorterminal.com/compare/droid-cli-vs-harness-autonomous.md)\n- [Droid CLI vs Paperclip](https://www.anchorterminal.com/compare/droid-cli-vs-paperclip.md)\n- [Droid CLI vs Parallax](https://www.anchorterminal.com/compare/droid-cli-vs-parallax-agents.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-01",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "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": "AXLR vs Droid CLI",
        "url": ""
      }
    ],
    "description": "AXLR scores 70.6 (BB) to Droid CLI's 59.2 (C) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AXLR BB 70.6",
      "Droid CLI C 59.2",
      "scores"
    ],
    "h1": "AXLR vs Droid CLI",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/axlr-vs-droid-cli",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AXLR vs Droid CLI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-01",
    "url": "https://www.anchorterminal.com/compare/axlr-vs-droid-cli"
  },
  "tokens": {
    "markdown": 6000,
    "slim": 2730
  },
  "version": 1
}
