{
  "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 Qoder CLI's 59 (C), and leads in 5 of 7 scored categories. Qoder CLI leads on transparency \u0026 trust.",
    "b": {
      "slug": "qoder-cli",
      "name": "Qoder CLI",
      "vendor": "Qoder (BRIGHT ZENITH PRIVATE LIMITED)",
      "vendorUrl": "https://qoder.com/cli",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Qoder's terminal coding agent. It reads and edits files, runs commands and calls MCP servers under permission rules, with a `-p` headless mode, an Agent Client Protocol server and a TypeScript and Python Agent SDK. Needs a Qoder account.",
      "url": "https://www.anchorterminal.com/tools/qoder-cli",
      "markdownUrl": "https://www.anchorterminal.com/tools/qoder-cli.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/qoder-cli.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/qoder-cli.json",
      "dns": "qoder-cli.grade.anchorterminal.com",
      "license": "Proprietary, under the Qoder Terms of Service (BRIGHT ZENITH PRIVATE LIMITED, last updated 29 April 2026). No source is published, and the Agent SDK's LICENSE file points to the same terms",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@qoder-ai/qodercli"
        },
        {
          "registry": "npm",
          "name": "@qoder-ai/qoder-agent-sdk"
        },
        {
          "registry": "pypi",
          "name": "qoder-agent-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "`/login` or `qoder login` through a browser on a Qoder account, with background token refresh, or a Personal Access Token in `QODER_PERSONAL_ACCESS_TOKEN` for CI, ACP clients and the SDK. A PAT is created at qoder.com/account/integrations with chosen permissions and an expiry, and can be revoked. Organisations can use service accounts with scoped tokens.",
      "pricing": "freemium",
      "pricingNotes": "Free gives basic models for a limited number of messages and a 14-day Pro trial with 300 credits. Pro is $20 a month (2,000 credits), Pro+ $60 (6,000) and Ultra $200 (20,000). Credit Packs cost $20 for 1,500 credits and expire after a month. Teams is $40 a seat a month with 3,000 credits, Enterprise $20 a seat with credits bought separately (checked 2026-10-18).",
      "priceSummary": "$20 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the CLI or SDK docs, the pricing docs or the CLI release notes (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 4996,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://docs.qoder.com/cli/overview",
      "llmsTxt": "https://docs.qoder.com/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "closed-source",
        "mcp",
        "acp",
        "llms-txt",
        "telemetry-default-on",
        "free-tier"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59,
        "grade": "C",
        "agentReady": false,
        "rank": 658,
        "ranked": true,
        "rankOf": 1253,
        "categoryRank": 25,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 72,
          "payments": 35,
          "reliability": 51,
          "schema": 81,
          "security": 55,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-09-19. CLI 1.1.57 fixed \"a security issue where internal Git calls could execute repository configuration commands\", so opening an untrusted repository could run commands from its Git configuration. Fixed within the month and disclosed only as a release-note line, with no advisory, affected versions or CVE found. Inside six months, -2 (https://docs.qoder.com/release-notes/qoder-cli.md)",
          "2026-07-16. CLI 1.0.47 fixed the PreToolUse hook not taking effect in headless and SDK modes. The permissions page describes that hook as an interception that holds even in YOLO mode, so headless and SDK runs before the fix skipped organisation hooks. Fixed and noted in the release notes. Judgement call, -1 (https://docs.qoder.com/release-notes/qoder-cli.md)"
        ],
        "verdict": "A closed-source terminal agent with a documented headless mode, an ACP server, typed TypeScript and Python SDKs and near-daily releases. Permission rules and modes are detailed, but no local sandbox is documented, usage statistics are on by default, and security fixes appear only as one-line release notes with no advisories or disclosure policy.",
        "bestFor": "Developers already on Qoder who want the same agent in a terminal, in CI through a PAT, in Zed through ACP, or embedded through the Agent SDK.",
        "strengths": [
          "Headless `-p` with text, json and stream-json output, `--max-turns`, and ask turned into deny",
          "Agent SDK for TypeScript and Python that drives the CLI with approval callbacks, hooks and session control",
          "Documented exit codes and Result error subtypes for scripts and SDK hosts",
          "Personal Access Tokens with chosen permissions and expiry, and scoped service accounts for organisations",
          "74 dated releases in the 90 days to 16 October 2026"
        ],
        "weaknesses": [
          "No local sandbox is documented, and `auto` mode approves read-only tools on any path",
          "Usage and AI code statistics are on by default, and content use for improvement depends on the plan",
          "Closed source with no public CI, issue tracker or security advisories, and the audit log leaves out CLI execution",
          "No security.txt, disclosure policy or status page found",
          "Agent SDK release notes stop at 1.0.41 on 15 September while npm has 1.0.53"
        ],
        "agentNotes": [
          "Set `QODER_PERSONAL_ACCESS_TOKEN` in CI. The browser sign-in can't complete in a headless run",
          "Pass `--permission-mode` with `--allowed-tools` in headless runs. Every ask is denied, and `--yolo` removes all checks",
          "Set `--max-turns` on unattended runs, and branch on exit codes 41 (authentication) and 53 (turn limit)",
          "Set `privacy.usageStatisticsEnabled` and `aiCodeStatistics.enabled` to false in ~/.qoder/settings.json if usage data must stay local",
          "Don't pass `--model lite`. The Lite tier was removed on 18 September 2026 and headless requests naming it fail"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "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
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 72,
          "payments": 35,
          "reliability": 51,
          "schema": 81,
          "security": 55,
          "transparency": 51
        },
        "provenanceScore": 71,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-18",
            "maintenance": "2026-10-18",
            "payments": "2026-10-18",
            "reliability": "2026-10-18",
            "schema": "2026-10-18",
            "security": "2026-10-18",
            "transparency": "2026-10-18"
          },
          "last": "2026-10-18",
          "lastMoved": "2026-10-30",
          "oldest": "2026-10-18",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "curl -fsSL https://qoder.com/install | bash",
        "headless": {
          "env": {
            "QODER_PERSONAL_ACCESS_TOKEN": "\u003ctoken\u003e"
          },
          "run": "qoder -p \"Review these changes and list potential issues\" --output-format json --permission-mode accept_edits --max-turns 20"
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/qoder-cli"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 20,
          "note": "2,000 credits a month"
        },
        {
          "item": "Credit Pack",
          "unit": "tx",
          "usd": 20,
          "note": "1,500 credits, expires after one month, not refundable"
        },
        {
          "item": "Teams",
          "unit": "seat-month",
          "usd": 40,
          "note": "3,000 credits a seat a month"
        }
      ],
      "provenance": {
        "legalEntity": "BRIGHT ZENITH PRIVATE LIMITED",
        "domain": "qoder.com",
        "domainRegistered": "2009-08-21",
        "endpointOnVendorDomain": null,
        "terms": "https://qoder.com/product-service",
        "privacy": "https://qoder.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://docs.qoder.com/release-notes/qoder-cli.md",
        "securityTxt": "none",
        "checked": "2026-10-18",
        "notes": [
          "The terms of service (last updated 29 April 2026) name BRIGHT ZENITH PRIVATE LIMITED as the provider of the Services. The privacy policy (last updated 12 May 2026) describes it as a Singapore registered entity, with a DPO at intldpo@qoder.com.",
          "We didn't name a parent company, because neither the terms nor the privacy policy names one.",
          "qoder.com/.well-known/security.txt and docs.qoder.com/.well-known/security.txt answered 404 on 18 October 2026.",
          "No status page was found, and status.qoder.com didn't resolve.",
          "RDAP (Verisign) gives qoder.com a registration date of 21 August 2009, long before the product.",
          "qoder.com's robots.txt disallows /pricing, so prices come from docs.qoder.com/account/pricing.md."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/qoder-cli.json",
      "live": {
        "slug": "qoder-cli",
        "versions": [
          {
            "registry": "npm",
            "name": "@qoder-ai/qoder-agent-sdk",
            "version": "1.0.58",
            "seenAt": "2026-11-01T17:27:49.78302918Z"
          },
          {
            "registry": "npm",
            "name": "@qoder-ai/qodercli",
            "version": "1.1.81",
            "seenAt": "2026-11-01T17:27:48.935938893Z"
          },
          {
            "registry": "pypi",
            "name": "qoder-agent-sdk",
            "version": "1.0.17",
            "released": "2026-10-27",
            "seenAt": "2026-11-01T17:27:51.147051609Z"
          }
        ],
        "npmWeekly": 12632,
        "pypiWeekly": 3089,
        "securityTxt": {
          "url": "https://qoder.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-01T15:43:26.594851713Z"
        },
        "llmsTxt": {
          "url": "https://docs.qoder.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-01T15:14:48.608110477Z"
        },
        "domain": {
          "domain": "qoder.com",
          "registered": "2009-08-21",
          "source": "https://rdap.verisign.com/com/v1/domain/qoder.com",
          "checkedAt": "2026-11-01T14:10:08.006309272Z"
        },
        "pages": [
          {
            "url": "https://docs.qoder.com/release-notes/qoder-cli.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-01T06:42:39.733460295Z",
            "changedAt": "2026-10-30T05:38:24.818997399Z",
            "fingerprint": "36a5034afb44"
          },
          {
            "url": "https://docs.qoder.com/release-notes/lite-model-tier-retirement-notice.md",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-01T06:42:34.65918697Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6c149bbabe94"
          },
          {
            "url": "https://docs.qoder.com/release-notes/model-consumption-reference-update.md",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-01T06:42:37.357718563Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bc85b1b0ed5c"
          },
          {
            "url": "https://qoder.com/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-01T06:50:50.9493496Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2117f74023c8"
          },
          {
            "url": "https://qoder.com/product-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-01T06:50:53.149563464Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b0a4a5ea5693"
          }
        ],
        "updatedAt": "2026-11-01T17:27:51.147051609Z"
      }
    },
    "edges": [
      {
        "by": 25,
        "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, scored on the Qoder subscription the CLI needs. No payment protocol (0). Plan prices, the Credit Pack price ($20 for 1,500 credits) and per-model credit factors are public in the docs without a login. qoder.com/pricing is disallowed by robots.txt and wasn't read (20). A Free plan with basic models for a limited number of messages and a 14-day Pro trial with 300 credits. We found no statement on whether a card is needed (15). A person signs in through a browser, and a PAT is created by hand at qoder.com/account/integrations (0). 0+20+15+0 = 35."
        },
        "scores": {
          "a": 60,
          "b": 35
        }
      },
      {
        "by": 19,
        "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, the same as the other closed-source harnesses. An install script for macOS, Linux and Windows on arm64 and amd64 that checks a SHA-256 from a manifest on the same download host, and an npm package with Node.js 20 or later stated (20). No public CI or test suite, since no source is published (0). We found no public issue tracker for the CLI. The forum's bug-reports category, shared by every Qoder product, had 116 new topics in the month to 18 October, and 15 of the 29 topics on its first page had no reply. A few named the CLI (8). Versions are semver-shaped and every release is dated in the release notes, but removals such as `/goal take` in 1.1.11 shipped in patch versions without a breaking-change label (8). 1.0.0 on 20 May 2026, now 1.1.73 (15). 20+0+8+8+15 = 51."
        },
        "scores": {
          "a": 70,
          "b": 51
        }
      },
      {
        "by": 7,
        "category": "security",
        "leads": "axlr",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Harness reading of the framework checklist, as for the other four harnesses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No product telemetry in the console source (the outbound hosts are openrouter.ai, api.anthropic.com, api.openai.com, a configured local server, api.github.com and github.com for engine downloads, and registry.underpassai.com for the signed catalog index) or in the docs; payload capture is off by default since 9 October 2026, traces omit prompts and credentials, model keys are never given to commands or plugins, and Jev sends requests and answers to TypeSafe only when on, which the setup assistant does when `TYPESAFE_API_KEY` is set, with a notice on stderr (27). Approval cards, a destructive list that always asks, four work modes, a policy level per execution, a bubblewrap or container sandbox with an enforced egress allow list, and a service that approves nothing but reads. Against that, the setup assistant writes `autonomous: true`, `exec_sandbox` is off by default, forged tools run with the person's rights, and the README says the console and worker are not sandboxes (13). Forged tools are refused when a file changes since the forge, a policy forbids calls outside the model, and the docs say MCP tools keep their own side effects, but no prompt-injection guidance was found and MCP results reach the model unmarked (6). The service keeps an event journal, audit records, a receipt with the SHA-256 of every call's arguments and outcome, and correlation ids on every event; the console keeps session records, a redacted app log and `/session` (14). No SECURITY.md, no security.txt on either host, no advisories, no bug bounty; release checksums and a minisign-signed catalog are integrity, not a programme (2). 27+13+6+14+2 = 62.",
          "b": "Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Browser sign-in with background refresh, or a PAT created with chosen permissions and an expiry and revocable, plus scoped service accounts for organisations. Usage statistics and AI code statistics are on by default with documented opt-outs, and the privacy policy lets users turn off Share \u0026 Improve depending on the plan, without saying which plans or the default (18). Five permission modes, deny over ask over allow across seven rule layers, ask turned into deny in headless runs, a `dont_ask` mode, trusted directories, protected paths and an administrator switch that disables YOLO. No local sandbox is documented, and `auto` mode lets an AI classifier decide and approves read-only tools on any path (14). Workspace files can't add auto-mode rules, protected paths stop the agent changing shell startup files or .mcp.json without approval, and network paths always ask on Windows. A project's .qoder/settings.json is still one of the rule layers, and nothing contains a command once approved (9). The enterprise audit log records administrative and configuration events for administrators and says it leaves out prompts, terminal commands, MCP call parameters and CLI execution, and individuals have local session history only (5). qoder.com/enterprise says Qoder is certified to ISO/IEC 27001 and has completed a SOC 2 Type II audit. No security.txt, disclosure policy or bug bounty was found, and fixes appear as one-line release notes without advisories (9). 18+14+9+5+9 = 55."
        },
        "scores": {
          "a": 62,
          "b": 55
        }
      },
      {
        "by": 7,
        "category": "maintenance",
        "leads": "axlr",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v0.15.0 on 2026-10-25, with commits on main to 2026-11-01 (30). 21 releases between 4 and 25 October 2026 (20). One maintainer (368 of 399 commits, the rest by two agent accounts), 10 open issues that are his own trackers with no comments, about 100 merged pull requests and no outside report to measure a reply against (15). Not in the MCP registry; the Go module and a proto to generate clients from are the only client code, beside the GHCR image and Helm chart (5). Go 1.26 toolchain pinned, release actions pinned by commit SHA, a go-licenses check that the third-party bundle matches the dependency graph, and CI passing on main (9). 30+20+15+5+9 = 79.",
          "b": "1.1.73 on 16 October 2026 (30). 74 dated CLI versions between 20 July and 16 October 2026 (20). No public issue tracker. A Discourse forum with bug-report and feature-request categories, where 15 of the 29 bug reports on the first page had no reply when read on 18 October (7). Current official SDKs, `@qoder-ai/qoder-agent-sdk` 1.0.53 on 15 October and `qoder-agent-sdk` 1.0.15 on PyPI on 23 September 2026 (12). No public CI. npm versions carry registry signatures and the install script checks a SHA-256 (3). 30+20+7+12+3 = 72."
        },
        "scores": {
          "a": 79,
          "b": 72
        }
      },
      {
        "by": 6,
        "category": "transparency",
        "leads": "qoder-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": "Proprietary, with clear terms from BRIGHT ZENITH PRIVATE LIMITED under Singapore law, and the SDK's LICENSE points to the same terms (15). The privacy policy lists purposes with retention for each (mostly for as long as the account exists), names storage in the United States, Singapore and Japan and names model providers. The terms let the operator use User Content to improve the Services unless Share \u0026 Improve is turned off, and the policy says the opt-out depends on the plan. No subprocessor list or DPA was found (14). Dated notices with two weeks' warning for the Lite tier removal (4 to 18 September 2026) and for the credit factor change on 21 September, but no stated deprecation policy (8). Usage statistics and AI code statistics are disclosed as settings with an opt-out, both on by default, and the installer's telemetry isn't described (14). 15+14+8+14 = 51."
        },
        "scores": {
          "a": 55,
          "b": 61
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Underpass AI",
        "b": "Qoder (BRIGHT ZENITH PRIVATE LIMITED)",
        "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": "Freemium",
        "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 the Qoder Terms of Service (BRIGHT ZENITH PRIVATE LIMITED, last updated 29 April 2026). No source is published, and the Agent SDK's LICENSE file points to the same terms",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-25",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "0 stars",
        "b": "5k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "AXLR scores 70.6 (BB) on agent readiness against Qoder CLI's 59 (C), and leads in 5 of 7 scored categories. Qoder CLI leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, AXLR or Qoder 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 Qoder CLI.",
        "question": "Are AXLR and Qoder CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 51",
          "Security \u0026 auth, 62 against 55",
          "Payments \u0026 pricing, 60 against 35",
          "Maintenance \u0026 community, 79 against 72"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card",
          "Open source",
          "No incidents deducted, where Qoder CLI loses 3 points for them"
        ],
        "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, 61 against 55"
        ],
        "also": null,
        "goodFor": "Developers already on Qoder who want the same agent in a terminal, in CI through a PAT, in Zed through ACP, or embedded through the Agent SDK.",
        "slug": "qoder-cli",
        "watchFor": "No local sandbox is documented, and `auto` mode approves read-only tools on any path"
      }
    ],
    "history": {
      "axlr": null,
      "qoder-cli": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.4,
          "from": 59.4,
          "fromGrade": "C",
          "to": 59,
          "toGrade": "C"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 59.3,
          "fromGrade": "C",
          "to": 59.4,
          "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-qoder-cli.json",
        "title": "Agent Zero vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-qoder-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-qoder-cli.json",
        "title": "Aider vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-qoder-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-qoder-cli.json",
        "title": "Amp vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-qoder-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-qoder-cli.json",
        "title": "Antigravity CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-qoder-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-qoder-cli.json",
        "title": "Auggie CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-qoder-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-droid-cli.json",
        "title": "AXLR vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-droid-cli"
      },
      {
        "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-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-qoder-cli.json",
        "title": "Claude Code vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-qoder-cli.json",
        "title": "Cline vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-qoder-cli.json",
        "title": "Crush vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-qoder-cli.json",
        "title": "Cursor CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-qoder-cli.json",
        "title": "DeepSeek Harness (dsh) vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-qoder-cli.json",
        "title": "dsh-superagent (DeepSeek) vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-qoder-cli.json",
        "title": "Devin vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-qoder-cli"
      },
      {
        "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/earendil-pi-vs-qoder-cli.json",
        "title": "Pi vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-qoder-cli.json",
        "title": "Gemini CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-qoder-cli.json",
        "title": "GitHub Copilot CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-qoder-cli.json",
        "title": "goose vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-qoder-cli.json",
        "title": "Harness² vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-qoder-cli.json",
        "title": "HarnessRouter vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-qoder-cli.json",
        "title": "Jules vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/kilo-code-cli-vs-qoder-cli.json",
        "title": "Kilo Code CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qoder-cli.json",
        "title": "Kimi Code CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-qoder-cli.json",
        "title": "Kiro CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-qoder-cli.json",
        "title": "mini-swe-agent vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-qoder-cli.json",
        "title": "MiniMax Code vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qoder-cli.json",
        "title": "Mistral Vibe CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-qoder-cli.json",
        "title": "Muse Code vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-qoder-cli.json",
        "title": "OpenAI Codex vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-qoder-cli"
      },
      {
        "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/openhands-vs-qoder-cli.json",
        "title": "OpenHands vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-qoder-cli.json",
        "title": "Prime Agent vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-qwen-code.json",
        "title": "Qoder CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-reflection-mirror.json",
        "title": "Qoder CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-rovo-dev-cli.json",
        "title": "Qoder CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-unstoppable.json",
        "title": "Qoder CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-vibe-trading.json",
        "title": "Qoder CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-warp.json",
        "title": "Qoder CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/qoder-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-qoder-cli.json",
        "title": "Clawboo vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-qoder-cli.json",
        "title": "CLI Manager vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-qoder-cli.json",
        "title": "Harness vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-qoder-cli.json",
        "title": "OpenMausBot vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-qoder-cli.json",
        "title": "Paperclip vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-qoder-cli.json",
        "title": "Parallax vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-qoder-cli"
      }
    ],
    "panel": null,
    "scores": [
      {
        "axlr": 70,
        "by": 19,
        "edge": "axlr",
        "key": "reliability",
        "name": "Reliability",
        "qoder-cli": 51,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "axlr": 80,
        "by": 1,
        "edge": "qoder-cli",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "qoder-cli": 81,
        "weight": 13
      },
      {
        "axlr": 83,
        "by": 3,
        "edge": "axlr",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "qoder-cli": 80,
        "weight": 13
      },
      {
        "axlr": 62,
        "by": 7,
        "edge": "axlr",
        "key": "security",
        "name": "Security \u0026 auth",
        "qoder-cli": 55,
        "weight": 14
      },
      {
        "axlr": 60,
        "by": 25,
        "edge": "axlr",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "qoder-cli": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "axlr": 79,
        "by": 7,
        "edge": "axlr",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "qoder-cli": 72,
        "weight": 7
      },
      {
        "axlr": 55,
        "by": 6,
        "edge": "qoder-cli",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "qoder-cli": 61,
        "weight": 7
      }
    ],
    "summary": "AXLR scores 70.6 (BB) on agent readiness against Qoder CLI's 59 (C), and leads in 5 of 7 scored categories. Qoder 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.",
      "qoder-cli": "A closed-source terminal agent with a documented headless mode, an ACP server, typed TypeScript and Python SDKs and near-daily releases. Permission rules and modes are detailed, but no local sandbox is documented, usage statistics are on by default, and security fixes appear only as one-line release notes with no advisories or disclosure policy."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/axlr-vs-qoder-cli",
    "json": "https://www.anchorterminal.com/compare/axlr-vs-qoder-cli.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/axlr-vs-qoder-cli.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/axlr-vs-qoder-cli.min.md"
  },
  "markdown": "AXLR scores 70.6 (BB) on agent readiness against Qoder CLI's 59 (C), and leads in 5 of 7 scored categories. Qoder 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- Qoder CLI: grade C, 59/100, rank #658 of 1253. Markdown https://www.anchorterminal.com/tools/qoder-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/qoder-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 51\n- Security \u0026 auth, 62 against 55\n- Payments \u0026 pricing, 60 against 35\n- Maintenance \u0026 community, 79 against 72\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- No incidents deducted, where Qoder CLI loses 3 points for them\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### Qoder CLI (C)\n\nGood for: Developers already on Qoder who want the same agent in a terminal, in CI through a PAT, in Zed through ACP, or embedded through the Agent SDK.\n\nAhead on:\n- Transparency \u0026 trust, 61 against 55\n\nWatch for: No local sandbox is documented, and `auto` mode approves read-only tools on any path\n\n\n## Why the edge\n\n### Payments \u0026 pricing: AXLR +25\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- Qoder CLI (35): Harness reading of the published rubric, scored on the Qoder subscription the CLI needs. No payment protocol (0). Plan prices, the Credit Pack price ($20 for 1,500 credits) and per-model credit factors are public in the docs without a login. qoder.com/pricing is disallowed by robots.txt and wasn't read (20). A Free plan with basic models for a limited number of messages and a 14-day Pro trial with 300 credits. We found no statement on whether a card is needed (15). A person signs in through a browser, and a PAT is created by hand at qoder.com/account/integrations (0). 0+20+15+0 = 35.\n\n### Reliability: AXLR +19\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- Qoder CLI (51): Local-package reading, the same as the other closed-source harnesses. An install script for macOS, Linux and Windows on arm64 and amd64 that checks a SHA-256 from a manifest on the same download host, and an npm package with Node.js 20 or later stated (20). No public CI or test suite, since no source is published (0). We found no public issue tracker for the CLI. The forum's bug-reports category, shared by every Qoder product, had 116 new topics in the month to 18 October, and 15 of the 29 topics on its first page had no reply. A few named the CLI (8). Versions are semver-shaped and every release is dated in the release notes, but removals such as `/goal take` in 1.1.11 shipped in patch versions without a breaking-change label (8). 1.0.0 on 20 May 2026, now 1.1.73 (15). 20+0+8+8+15 = 51.\n\n### Security \u0026 auth: AXLR +7\n\n- AXLR (62): Harness reading of the framework checklist, as for the other four harnesses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No product telemetry in the console source (the outbound hosts are openrouter.ai, api.anthropic.com, api.openai.com, a configured local server, api.github.com and github.com for engine downloads, and registry.underpassai.com for the signed catalog index) or in the docs; payload capture is off by default since 9 October 2026, traces omit prompts and credentials, model keys are never given to commands or plugins, and Jev sends requests and answers to TypeSafe only when on, which the setup assistant does when `TYPESAFE_API_KEY` is set, with a notice on stderr (27). Approval cards, a destructive list that always asks, four work modes, a policy level per execution, a bubblewrap or container sandbox with an enforced egress allow list, and a service that approves nothing but reads. Against that, the setup assistant writes `autonomous: true`, `exec_sandbox` is off by default, forged tools run with the person's rights, and the README says the console and worker are not sandboxes (13). Forged tools are refused when a file changes since the forge, a policy forbids calls outside the model, and the docs say MCP tools keep their own side effects, but no prompt-injection guidance was found and MCP results reach the model unmarked (6). The service keeps an event journal, audit records, a receipt with the SHA-256 of every call's arguments and outcome, and correlation ids on every event; the console keeps session records, a redacted app log and `/session` (14). No SECURITY.md, no security.txt on either host, no advisories, no bug bounty; release checksums and a minisign-signed catalog are integrity, not a programme (2). 27+13+6+14+2 = 62.\n- Qoder CLI (55): Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Browser sign-in with background refresh, or a PAT created with chosen permissions and an expiry and revocable, plus scoped service accounts for organisations. Usage statistics and AI code statistics are on by default with documented opt-outs, and the privacy policy lets users turn off Share \u0026 Improve depending on the plan, without saying which plans or the default (18). Five permission modes, deny over ask over allow across seven rule layers, ask turned into deny in headless runs, a `dont_ask` mode, trusted directories, protected paths and an administrator switch that disables YOLO. No local sandbox is documented, and `auto` mode lets an AI classifier decide and approves read-only tools on any path (14). Workspace files can't add auto-mode rules, protected paths stop the agent changing shell startup files or .mcp.json without approval, and network paths always ask on Windows. A project's .qoder/settings.json is still one of the rule layers, and nothing contains a command once approved (9). The enterprise audit log records administrative and configuration events for administrators and says it leaves out prompts, terminal commands, MCP call parameters and CLI execution, and individuals have local session history only (5). qoder.com/enterprise says Qoder is certified to ISO/IEC 27001 and has completed a SOC 2 Type II audit. No security.txt, disclosure policy or bug bounty was found, and fixes appear as one-line release notes without advisories (9). 18+14+9+5+9 = 55.\n\n### Maintenance \u0026 community: AXLR +7\n\n- AXLR (79): v0.15.0 on 2026-10-25, with commits on main to 2026-11-01 (30). 21 releases between 4 and 25 October 2026 (20). One maintainer (368 of 399 commits, the rest by two agent accounts), 10 open issues that are his own trackers with no comments, about 100 merged pull requests and no outside report to measure a reply against (15). Not in the MCP registry; the Go module and a proto to generate clients from are the only client code, beside the GHCR image and Helm chart (5). Go 1.26 toolchain pinned, release actions pinned by commit SHA, a go-licenses check that the third-party bundle matches the dependency graph, and CI passing on main (9). 30+20+15+5+9 = 79.\n- Qoder CLI (72): 1.1.73 on 16 October 2026 (30). 74 dated CLI versions between 20 July and 16 October 2026 (20). No public issue tracker. A Discourse forum with bug-report and feature-request categories, where 15 of the 29 bug reports on the first page had no reply when read on 18 October (7). Current official SDKs, `@qoder-ai/qoder-agent-sdk` 1.0.53 on 15 October and `qoder-agent-sdk` 1.0.15 on PyPI on 23 September 2026 (12). No public CI. npm versions carry registry signatures and the install script checks a SHA-256 (3). 30+20+7+12+3 = 72.\n\n### Transparency \u0026 trust: Qoder CLI +6\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- Qoder CLI (61): Proprietary, with clear terms from BRIGHT ZENITH PRIVATE LIMITED under Singapore law, and the SDK's LICENSE points to the same terms (15). The privacy policy lists purposes with retention for each (mostly for as long as the account exists), names storage in the United States, Singapore and Japan and names model providers. The terms let the operator use User Content to improve the Services unless Share \u0026 Improve is turned off, and the policy says the opt-out depends on the plan. No subprocessor list or DPA was found (14). Dated notices with two weeks' warning for the Lite tier removal (4 to 18 September 2026) and for the credit factor change on 21 September, but no stated deprecation policy (8). Usage statistics and AI code statistics are disclosed as settings with an opt-out, both on by default, and the installer's telemetry isn't described (14). 15+14+8+14 = 51.\n\n## Score by category\n\n| Category | Weight | AXLR | Qoder CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 51 | AXLR +19 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 81 | Qoder CLI +1 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 80 | AXLR +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 55 | AXLR +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 35 | AXLR +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 79 | 72 | AXLR +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 61 | Qoder CLI +6 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **70.6 · BB** | **59 · C** | |\n\n## Facts side by side\n\n| Fact | AXLR | Qoder CLI |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Underpass AI | Qoder (BRIGHT ZENITH PRIVATE LIMITED) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder | Proprietary, under the Qoder Terms of Service (BRIGHT ZENITH PRIVATE LIMITED, last updated 29 April 2026). No source is published, and the Agent SDK's LICENSE file points to the same terms |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-25 | 2026-10-16 |\n| Terms last updated | no document linked | couldn't be read |\n| Privacy policy last updated | no document linked | couldn't be read |\n| Customer content may train models | not read yet | couldn't be read |\n| Terms restrict automated access | not read yet | couldn't be read |\n| Terms restrict benchmarking | not read yet | couldn't be read |\n| Terms or service can change without notice | not read yet | couldn't be read |\n| Arbitration or class-action waiver | not read yet | couldn't be read |\n| Popularity | 0 stars | 5k npm/wk |\n| Agent reviews | none | 3.5/5 (4) |\n\n## How the scores have moved\n\n### AXLR\n\nNo score change since it was listed.\n\n### Qoder CLI\n\n- -0.4 on 30 October 2026: checklist\n- +0.1 on 27 October 2026: new evidence\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**Qoder CLI.** A closed-source terminal agent with a documented headless mode, an ACP server, typed TypeScript and Python SDKs and near-daily releases. Permission rules and modes are detailed, but no local sandbox is documented, usage statistics are on by default, and security fixes appear only as one-line release notes with no advisories or disclosure policy.\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### Qoder CLI\n\n1. Set `QODER_PERSONAL_ACCESS_TOKEN` in CI. The browser sign-in can't complete in a headless run\n2. Pass `--permission-mode` with `--allowed-tools` in headless runs. Every ask is denied, and `--yolo` removes all checks\n3. Set `--max-turns` on unattended runs, and branch on exit codes 41 (authentication) and 53 (turn limit)\n4. Set `privacy.usageStatisticsEnabled` and `aiCodeStatistics.enabled` to false in ~/.qoder/settings.json if usage data must stay local\n5. Don't pass `--model lite`. The Lite tier was removed on 18 September 2026 and headless requests naming it fail\n\n## Questions\n\n### Which is better for AI agents, AXLR or Qoder CLI?\n\nAXLR scores 70.6 (BB) on agent readiness against Qoder CLI's 59 (C), and leads in 5 of 7 scored categories. Qoder CLI leads on transparency \u0026 trust.\n\n### Are AXLR and Qoder 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 Qoder CLI.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/axlr-vs-qoder-cli.json, and with the fewest tokens: https://www.anchorterminal.com/compare/axlr-vs-qoder-cli.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"axlr\", \"b\": \"qoder-cli\"}`. From a terminal: `anchor compare axlr qoder-cli`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/axlr.json and https://www.anchorterminal.com/api/v1/tools/qoder-cli.json\n\n## Other comparisons with AXLR or Qoder CLI\n\n- [Agent Zero vs AXLR](https://www.anchorterminal.com/compare/agent-zero-vs-axlr.md)\n- [Agent Zero vs Qoder CLI](https://www.anchorterminal.com/compare/agent-zero-vs-qoder-cli.md)\n- [Aider vs AXLR](https://www.anchorterminal.com/compare/aider-vs-axlr.md)\n- [Aider vs Qoder CLI](https://www.anchorterminal.com/compare/aider-vs-qoder-cli.md)\n- [Amp vs AXLR](https://www.anchorterminal.com/compare/amp-vs-axlr.md)\n- [Amp vs Qoder CLI](https://www.anchorterminal.com/compare/amp-vs-qoder-cli.md)\n- [Antigravity CLI vs AXLR](https://www.anchorterminal.com/compare/antigravity-cli-vs-axlr.md)\n- [Antigravity CLI vs Qoder CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-qoder-cli.md)\n- [Auggie CLI vs AXLR](https://www.anchorterminal.com/compare/auggie-vs-axlr.md)\n- [Auggie CLI vs Qoder CLI](https://www.anchorterminal.com/compare/auggie-vs-qoder-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 Droid CLI](https://www.anchorterminal.com/compare/axlr-vs-droid-cli.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 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 Qoder CLI](https://www.anchorterminal.com/compare/claude-code-vs-qoder-cli.md)\n- [Cline vs Qoder CLI](https://www.anchorterminal.com/compare/cline-vs-qoder-cli.md)\n- [Crush vs Qoder CLI](https://www.anchorterminal.com/compare/crush-vs-qoder-cli.md)\n- [Cursor CLI vs Qoder CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-qoder-cli.md)\n- [DeepSeek Harness (dsh) vs Qoder CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-qoder-cli.md)\n- [dsh-superagent (DeepSeek) vs Qoder CLI](https://www.anchorterminal.com/compare/deepseek-superagent-vs-qoder-cli.md)\n- [Devin vs Qoder CLI](https://www.anchorterminal.com/compare/devin-vs-qoder-cli.md)\n- [Droid CLI vs Qoder CLI](https://www.anchorterminal.com/compare/droid-cli-vs-qoder-cli.md)\n- [Pi vs Qoder CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-qoder-cli.md)\n- [Gemini CLI vs Qoder CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-qoder-cli.md)\n- [GitHub Copilot CLI vs Qoder CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-qoder-cli.md)\n- [goose vs Qoder CLI](https://www.anchorterminal.com/compare/goose-vs-qoder-cli.md)\n- [Harness² vs Qoder CLI](https://www.anchorterminal.com/compare/harness2-vs-qoder-cli.md)\n- [HarnessRouter vs Qoder CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-qoder-cli.md)\n- [Jules vs Qoder CLI](https://www.anchorterminal.com/compare/jules-vs-qoder-cli.md)\n- [Junie CLI vs Qoder CLI](https://www.anchorterminal.com/compare/junie-vs-qoder-cli.md)\n- [Kilo Code CLI vs Qoder CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-qoder-cli.md)\n- [Kimi Code CLI vs Qoder CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-qoder-cli.md)\n- [Kiro CLI vs Qoder CLI](https://www.anchorterminal.com/compare/kiro-cli-vs-qoder-cli.md)\n- [mini-swe-agent vs Qoder CLI](https://www.anchorterminal.com/compare/mini-swe-agent-vs-qoder-cli.md)\n- [MiniMax Code vs Qoder CLI](https://www.anchorterminal.com/compare/minimax-code-vs-qoder-cli.md)\n- [Mistral Vibe CLI vs Qoder CLI](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qoder-cli.md)\n- [Muse Code vs Qoder CLI](https://www.anchorterminal.com/compare/muse-code-vs-qoder-cli.md)\n- [OpenAI Codex vs Qoder CLI](https://www.anchorterminal.com/compare/openai-codex-vs-qoder-cli.md)\n- [OpenCode vs Qoder CLI](https://www.anchorterminal.com/compare/opencode-vs-qoder-cli.md)\n- [OpenHands vs Qoder CLI](https://www.anchorterminal.com/compare/openhands-vs-qoder-cli.md)\n- [Prime Agent vs Qoder CLI](https://www.anchorterminal.com/compare/prime-agent-vs-qoder-cli.md)\n- [Qoder CLI vs Qwen Code](https://www.anchorterminal.com/compare/qoder-cli-vs-qwen-code.md)\n- [Qoder CLI vs Mirror CLI](https://www.anchorterminal.com/compare/qoder-cli-vs-reflection-mirror.md)\n- [Qoder CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/qoder-cli-vs-rovo-dev-cli.md)\n- [Qoder CLI vs Unstoppable](https://www.anchorterminal.com/compare/qoder-cli-vs-unstoppable.md)\n- [Qoder CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/qoder-cli-vs-vibe-trading.md)\n- [Qoder CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/qoder-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 Qoder CLI](https://www.anchorterminal.com/compare/clawboo-vs-qoder-cli.md)\n- [CLI Manager vs Qoder CLI](https://www.anchorterminal.com/compare/cli-manager-vs-qoder-cli.md)\n- [Harness vs Qoder CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-qoder-cli.md)\n- [OpenMausBot vs Qoder CLI](https://www.anchorterminal.com/compare/openmausbot-vs-qoder-cli.md)\n- [Paperclip vs Qoder CLI](https://www.anchorterminal.com/compare/paperclip-vs-qoder-cli.md)\n- [Parallax vs Qoder CLI](https://www.anchorterminal.com/compare/parallax-agents-vs-qoder-cli.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 Qoder CLI",
        "url": ""
      }
    ],
    "description": "AXLR scores 70.6 (BB) to Qoder CLI's 59 (C) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AXLR BB 70.6",
      "Qoder CLI C 59",
      "scores"
    ],
    "h1": "AXLR vs Qoder CLI",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/axlr-vs-qoder-cli",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AXLR vs Qoder CLI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-01",
    "url": "https://www.anchorterminal.com/compare/axlr-vs-qoder-cli"
  },
  "tokens": {
    "markdown": 6450,
    "slim": 3180
  },
  "version": 1
}
