{
  "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 Qwen Code's 68.7 (B), and leads in 2 of 7 scored categories. Qwen Code leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "qwen-code",
      "name": "Qwen Code",
      "vendor": "Alibaba (Qwen team)",
      "vendorUrl": "https://qwenlm.github.io/qwen-code-docs/en/users/overview/",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source coding agent from Alibaba's Qwen team for the terminal, with desktop, browser and editor interfaces. It runs Qwen, OpenAI, Anthropic and Gemini-compatible models or a local one, and runs headless with `qwen -p`.",
      "url": "https://www.anchorterminal.com/tools/qwen-code",
      "markdownUrl": "https://www.anchorterminal.com/tools/qwen-code.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/qwen-code.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/qwen-code.json",
      "dns": "qwen-code.grade.anchorterminal.com",
      "repo": "https://github.com/QwenLM/qwen-code",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@qwen-code/qwen-code"
        },
        {
          "registry": "npm",
          "name": "@qwen-code/sdk"
        },
        {
          "registry": "pypi",
          "name": "qwen-code-sdk"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/qwenlm/qwen-code"
        }
      ],
      "auth": "api-key",
      "authNotes": "No account of its own. A model key goes in an environment variable or `~/.qwen/settings.json`, for Alibaba Cloud Model Studio (Coding Plan, Token Plan or a standard key), a listed third-party provider, or any OpenAI, Anthropic or Gemini-compatible endpoint including a local server. Vertex AI credentials also work. The Qwen OAuth sign-in was discontinued on 15 April 2026.",
      "pricing": "free",
      "pricingNotes": "Free and Apache-2.0, with nothing to buy for the CLI. The owner pays the model provider, or nothing with a local model. The Qwen OAuth free tier ended on 15 April 2026. Alibaba Cloud sells a fixed-fee Coding Plan and a usage-billed Token Plan for it, and we couldn't load their price pages on 8 October 2026.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 28362,
        "npmWeekly": 104819,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://qwenlm.github.io/qwen-code-docs/en/users/overview/",
      "llmsTxt": "https://qwenlm.github.io/qwen-code-docs/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "typescript",
        "mcp",
        "llms-txt",
        "telemetry-default-on",
        "pre-1.0",
        "free",
        "no-card",
        "local",
        "docker"
      ],
      "lastRelease": "2026-11-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.7,
        "grade": "B",
        "agentReady": false,
        "rank": 217,
        "ranked": true,
        "rankOf": 1253,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 88,
          "payments": 60,
          "reliability": 69,
          "schema": 91,
          "security": 53,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-10-27. 0.26.2 stopped a cloned repository from setting the `qwen serve` daemon's bearer token. Before it, a project `.env`, `.qwen/.env` or workspace `settings.env` could preset `QWEN_SERVER_TOKEN`, the credential guarding a daemon that runs code as the user (commit 2c0c9fa, 24 October, with tests). Fixed in a release, documented only as the changelog line \"harden serve token resolution against project env injection\" with no advisory, -2, as kilo-code-cli's changelog-only MCP prompt fix and docker-agent's fixed skill-file command execution took. 0.25.3's fix stopping `@{...}` file content from being read as `!{...}` shell expressions in custom commands isn't deducted, since its own design note says the expression still reached the permission check. https://github.com/QwenLM/qwen-code/commit/2c0c9fa8dc4a8ea5ec688060549e0ff0aed717b4",
          "2026-10-26. Until then the terms and privacy page said that with your own API key \"No additional data is collected by Qwen Code beyond what your chosen API provider collects\", and that Vertex AI users sent nothing beyond Google Cloud, while usage statistics were on by default for every sign-in method and the source sent them to an Alibaba Cloud RUM endpoint (at 0.25.0, among others). The settings reference documented the default, so a misleading claim rather than undisclosed telemetry, corrected by commit 338f133 on 26 October, -2, as openmausbot's privacy policy against its default-on analytics took. https://github.com/QwenLM/qwen-code/commit/338f13366c1d86e586f7e0785942740da3503887"
        ],
        "verdict": "Apache-2.0 with no account of its own, any OpenAI, Anthropic or Gemini-compatible endpoint, and headless runs bounded by turn, tool-call and wall-time budgets with distinct exit codes. Out of the box, Auto mode lets an LLM classifier approve tool calls, with the sandbox and folder trust both off. Security fixes ship as changelog lines without advisories.",
        "bestFor": "Developers and CI jobs that want an open-source harness tied to no single model vendor, with run budgets and SDKs.",
        "strengths": [
          "Apache-2.0, with a release most weeks (39 stable from 3 August to 1 November 2026) and CodeQL and a monthly scorecard in CI",
          "Headless `qwen -p` with json and stream-json output, and exit codes 53 for the turn limit and 55 for a wall-time or tool-call budget",
          "Works with any OpenAI, Anthropic or Gemini-compatible endpoint, including a local server, with keys set by environment variable",
          "Every release has a Breaking Changes heading in a generated changelog",
          "A Linux tool sandbox (Bubblewrap or Landlock) with `network: closed`, plus Seatbelt, Docker and Podman"
        ],
        "weaknesses": [
          "The default approval mode is Auto, where an LLM classifier approves tool calls, and sandboxing and folder trust are both off by default",
          "Usage statistics are on by default for every sign-in method and go to an Alibaba Cloud endpoint",
          "SECURITY.md points only to an Alibaba Cloud console portal, and the 27 October serve-token fix shipped with no advisory",
          "Pre-1.0 at 0.26.5, with breaking changes in patch releases such as 0.24.1, 0.26.1 and 0.26.2",
          "The Qwen OAuth free tier ended on 15 April 2026, so every run needs a paid key or a local model"
        ],
        "agentNotes": [
          "Pass `--approval-mode` on every run. The settings default is `auto`, and one docs page says headless runs default to asking, so don't rely on either",
          "Add `--max-session-turns`, `--max-wall-time` and `--max-tool-calls`. All three are unlimited by default. Exit 53 is the turn limit and 55 a budget",
          "`--yolo` doesn't turn on a sandbox. Add `--sandbox`, or on Linux set `tools.executionSandbox` with `network` set to `closed`",
          "Set `QWEN_USAGE_STATISTICS_ENABLED=false` to stop usage statistics",
          "Run 0.26.2 or later before using `qwen serve` in a cloned repository. Earlier versions let the repository's `.env` set the daemon token"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.7
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 88,
          "payments": 60,
          "reliability": 69,
          "schema": 91,
          "security": 53,
          "transparency": 79
        },
        "provenanceScore": 52,
        "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",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @qwen-code/qwen-code@latest   # or: brew install qwen-code",
        "headless": {
          "command": "qwen -p \"$TASK\" --output-format json --approval-mode auto-edit --max-session-turns 30 --max-wall-time 10m",
          "env": {
            "OPENAI_API_KEY": "\u003ckey\u003e",
            "OPENAI_BASE_URL": "\u003cendpoint\u003e",
            "OPENAI_MODEL": "\u003cmodel\u003e",
            "QWEN_USAGE_STATISTICS_ENABLED": "false"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/qwen-code"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Qwen team, Alibaba Group (no legal entity is named in the repository or the docs)",
        "domain": "qwenlm.github.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://qwenlm.github.io/qwen-code-docs/en/users/support/tos-privacy/",
        "privacy": "https://qwenlm.github.io/qwen-code-docs/en/users/support/tos-privacy/",
        "statusPage": "",
        "changelog": "https://github.com/QwenLM/qwen-code/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The project's own Terms of Service and Privacy Notice is one page. It covers usage statistics and the Chrome extension, and maps each sign-in method to the model provider's terms and privacy policy. The project publishes no separate privacy policy for the CLI, so both fields point at that page.",
          "The LICENSE file carries Copyright 2025 Google LLC and Copyright 2025 Qwen. The docs describe the project as Alibaba's, and SECURITY.md sends reports to an Alibaba Cloud console portal.",
          "The docs are on GitHub Pages. qwen.ai returned its application page for /.well-known/security.txt, so no security.txt was found. alibabacloud.com couldn't be reached from our network on 8 October 2026.",
          "The qwen.ai terms and privacy pages render only with JavaScript and weren't read."
        ],
        "score": 52
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/qwen-code.json",
      "live": {
        "slug": "qwen-code",
        "versions": [
          {
            "registry": "github",
            "name": "QwenLM/qwen-code",
            "version": "v0.26.5",
            "released": "2026-11-01",
            "seenAt": "2026-11-01T17:28:00.158194984Z"
          },
          {
            "registry": "npm",
            "name": "@qwen-code/qwen-code",
            "version": "0.26.5",
            "seenAt": "2026-11-01T17:27:57.641273461Z"
          },
          {
            "registry": "npm",
            "name": "@qwen-code/sdk",
            "version": "0.1.26",
            "seenAt": "2026-11-01T17:27:58.452485364Z"
          },
          {
            "registry": "pypi",
            "name": "qwen-code-sdk",
            "version": "0.1.0rc0",
            "released": "2026-05-09",
            "seenAt": "2026-11-01T17:27:59.938769275Z"
          }
        ],
        "githubStars": 28857,
        "npmWeekly": 115424,
        "pypiWeekly": 4578,
        "securityTxt": {
          "url": "https://qwenlm.github.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-01T15:42:06.765596384Z"
        },
        "llmsTxt": {
          "url": "https://qwenlm.github.io/qwen-code-docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-01T15:14:48.456213054Z"
        },
        "domain": {
          "domain": "github.io",
          "checkedAt": "2026-11-01T14:18:40.30630652Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/QwenLM/qwen-code/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-01T06:51:55.01184192Z",
            "changedAt": "2026-11-01T06:51:55.01184192Z",
            "fingerprint": "8c28d2516a7e"
          },
          {
            "url": "https://qwenlm.github.io/qwen-code-docs/en/users/support/tos-privacy/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-01T06:50:55.148492758Z",
            "changedAt": "2026-11-01T06:50:55.148492758Z",
            "fingerprint": "c67e5f5b5bec"
          }
        ],
        "github": {
          "repo": "qwenlm/qwen-code",
          "checkedAt": "2026-10-26T07:59:22.257060889Z",
          "stars": 28724,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T07:50:14Z",
          "openIssues": 1616,
          "openPRs": 428,
          "issuesOpened90d": 2998,
          "issuesClosed90d": 1970,
          "prsMerged90d": 3681,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 48,
            "failure": 2,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-26T07:51:09Z"
          }
        },
        "updatedAt": "2026-11-01T17:28:00.158194984Z"
      }
    },
    "edges": [
      {
        "by": 11,
        "category": "schema",
        "leads": "qwen-code",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "An OpenAPI 3.1 file for the service (15 paths, 23 schemas, `mutualTLS` security scheme, `additionalProperties: false` on request bodies), a checked proto for the gRPC service, and the 19 MCP tools built from the same shared schemas (25). No llms.txt on either site (404), and the docs site renders HTML; the Markdown sources are in the repository (5). The product contract tables what each of the four interfaces can and cannot do, the work-mode table states each mode's purpose and tool policy, the transport parity ledger names every verb's arguments and behaviour, and `axlr_tools` tells the model to look for a tool before forging one (15). Typed inputs throughout, `Idempotency-Key` 16 to 128 safe ASCII characters, `expected_revision` a positive integer, policy levels, sandbox profiles and egress values enumerated, budgets as four integers, and the service rejects unknown fields, invalid types and bodies over 4 MiB (14). Examples in every guide, an error shape of `code`, `message` and `request_id`, named codes (`409 idempotency_conflict`, `400 invalid_cursor`, `422 invalid_policy`, `invalid_budget`, `sandbox_unavailable`, `not_ready`, `invalid_id`), a gRPC status mapping, and the worker's five statuses and three exit codes; no single error reference page (14). `/v1` routes and an OpenAPI version of 0.1.0 against a 0.15.0 release, and no changelog beyond the dated notes inside the docs (7). 25+5+15+14+14+7 = 80.",
          "b": "Framework reading. A settings.schema.json in the repository, a settings reference with the type and default of each key, and an OpenAPI file for the daemon's REST API (25). llms.txt on the docs site lists the pages with a line each, though it links to HTML and the Markdown path we tried returned 404 (8). The approval-mode page says when to use each mode and the sandbox page what each method and Seatbelt profile allows (15). Approval modes, sandbox backends, filesystem and network policies are enums (13). The headless page documents json and stream-json output, and exit codes 41, 42, 44, 52, 53, 55 and 130 are documented (15). A dated changelog generated from releases (15)."
        },
        "scores": {
          "a": 80,
          "b": 91
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "qwen-code",
        "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": "Apache-2.0 (30). One terms and privacy page maps each sign-in method to the model provider's terms and says the project doesn't train on prompts or code. Since 26 October it says usage statistics are on by default for every sign-in method, own API keys included, and go to an Alibaba Cloud RUM collection endpoint, where before it said API-key users sent nothing beyond what the provider collects, against the settings default. It still gives no retention period and names no legal entity (20, was 18). The end of the Qwen OAuth free tier is dated 15 April 2026 and `tools.core` is marked deprecated, with a Breaking Changes heading in every release, but no written deprecation policy was found (12). Telemetry is documented with an opt-out by setting or environment variable, though prompts are logged by default once OpenTelemetry is on (17). 30 + 20 + 12 + 17 = 79."
        },
        "scores": {
          "a": 55,
          "b": 66
        }
      },
      {
        "by": 9,
        "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. Usage statistics are on by default (`privacy.usageStatisticsEnabled` defaults to true in the settings schema at 0.26.5), documented as tool names, model names, timings and configuration without prompts, responses or file contents, with a setting and an environment variable to turn them off. Credentials are API keys in environment variables or settings.json (15). Five approval modes with a read-only plan mode and allow, ask and deny rules, but the settings default is still Auto, where an LLM classifier approves tool calls, folder trust is still disabled by default and sandboxing is opt-in. Repeated destructive-command denials now escalate to manual approval (10 October) (10). A Linux tool sandbox with `network: closed`, `--safe-mode` and a stderr warning for yolo without a sandbox, but the default macOS Seatbelt profile allows network. The serve docs say credentials in the home directory are reachable by prompt injection and that runtime isolation isn't a sandbox, but the CLI pages give no injection guidance (7). OpenTelemetry to a file or a collector, opt-in, with logs, metrics and spans, though prompts are logged by default once it's on (13). SECURITY.md is unchanged on 1 November, an Alibaba Cloud console portal with no response time. Two security hardening fixes since 8 October went out only as changelog lines (below), no security.txt was found, and CodeQL and a monthly scorecard run in CI. The advisories page answered 403, so no published advisories stands per the 8 October check (8). 15 + 10 + 7 + 13 + 8 = 53."
        },
        "scores": {
          "a": 62,
          "b": 53
        }
      },
      {
        "by": 9,
        "category": "maintenance",
        "leads": "qwen-code",
        "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": "0.26.5 on 1 November 2026 (30). 39 stable releases from 3 August to 1 November (v0.21.4 to v0.26.5), plus previews and nightlies (20). Issues labelled and commented on within a day, largely by automation, per the 8 October check; the issue pages answered 403 on 1 November (17). The TypeScript SDK reached 0.1.26 on 29 October, while the Python SDK's newest tag is still sdk-python-v0.1.0-preview.0 (9 May 2026) and the Java SDK is an alpha (11). CI, CodeQL, a monthly scorecard and Dependabot (10). 30 + 20 + 17 + 11 + 10 = 88."
        },
        "scores": {
          "a": 79,
          "b": 88
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Underpass AI",
        "b": "Alibaba (Qwen team)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "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": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-25",
        "b": "2026-11-01",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-10-01",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-10-01",
        "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": "not found in the text",
        "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": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "0 stars",
        "b": "28k stars, 105k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "AXLR scores 70.6 (BB) on agent readiness against Qwen Code's 68.7 (B), and leads in 2 of 7 scored categories. Qwen Code leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, AXLR or Qwen Code?"
      },
      {
        "answer": "Yes. AXLR is open source (Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder). Qwen Code is open source (Apache-2.0).",
        "question": "Are AXLR and Qwen Code open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 62 against 53"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "No incidents deducted, where Qwen Code loses 4 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": [
          "Schema \u0026 documentation, 91 against 80",
          "Maintenance \u0026 community, 88 against 79",
          "Transparency \u0026 trust, 66 against 55"
        ],
        "also": null,
        "goodFor": "Developers and CI jobs that want an open-source harness tied to no single model vendor, with run budgets and SDKs.",
        "slug": "qwen-code",
        "watchFor": "The default approval mode is Auto, where an LLM classifier approves tool calls, and sandboxing and folder trust are both off by default"
      }
    ],
    "history": {
      "axlr": null,
      "qwen-code": [
        {
          "causes": [
            "terms",
            "event"
          ],
          "date": "2026-11-01",
          "delta": -3.9,
          "from": 72.6,
          "fromGrade": "BB",
          "to": 68.7,
          "toGrade": "B"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 72.5,
          "fromGrade": "BB",
          "to": 72.6,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 72.4,
          "fromGrade": "BB",
          "to": 72.5,
          "toGrade": "BB"
        }
      ]
    },
    "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-qwen-code.json",
        "title": "Agent Zero vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Aider vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/aider-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Amp vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/amp-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Antigravity CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Auggie CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-qwen-code"
      },
      {
        "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-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-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-qwen-code.json",
        "title": "Claude Code vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-qwen-code.json",
        "title": "Cline vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/cline-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-qwen-code.json",
        "title": "Crush vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/crush-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-qwen-code.json",
        "title": "Cursor CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-qwen-code.json",
        "title": "DeepSeek Harness (dsh) vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-qwen-code.json",
        "title": "dsh-superagent (DeepSeek) vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-qwen-code.json",
        "title": "Devin vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/devin-vs-qwen-code"
      },
      {
        "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/earendil-pi-vs-qwen-code.json",
        "title": "Pi vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-qwen-code.json",
        "title": "Gemini CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-qwen-code.json",
        "title": "GitHub Copilot CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-qwen-code.json",
        "title": "goose vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/goose-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-qwen-code.json",
        "title": "Harness² vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code.json",
        "title": "HarnessRouter vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-qwen-code.json",
        "title": "Jules vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/jules-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-qwen-code.json",
        "title": "Junie CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-qwen-code.json",
        "title": "Kilo Code CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qwen-code.json",
        "title": "Kimi Code CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-qwen-code.json",
        "title": "Kiro CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-qwen-code.json",
        "title": "mini-swe-agent vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-qwen-code.json",
        "title": "MiniMax Code vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qwen-code.json",
        "title": "Mistral Vibe CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-qwen-code.json",
        "title": "Muse Code vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-qwen-code.json",
        "title": "OpenAI Codex vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code.json",
        "title": "OpenCode vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code.json",
        "title": "OpenHands vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-qwen-code.json",
        "title": "Prime Agent vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-qwen-code"
      },
      {
        "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/qwen-code-vs-reflection-mirror.json",
        "title": "Qwen Code vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-rovo-dev-cli.json",
        "title": "Qwen Code vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-unstoppable.json",
        "title": "Qwen Code vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-vibe-trading.json",
        "title": "Qwen Code vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-warp.json",
        "title": "Qwen Code vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/qwen-code-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-qwen-code.json",
        "title": "Clawboo vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-qwen-code.json",
        "title": "CLI Manager vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-qwen-code.json",
        "title": "Harness vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code.json",
        "title": "OpenMausBot vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-qwen-code.json",
        "title": "Paperclip vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-qwen-code.json",
        "title": "Parallax vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-qwen-code"
      }
    ],
    "panel": null,
    "scores": [
      {
        "axlr": 70,
        "by": 1,
        "edge": "axlr",
        "key": "reliability",
        "name": "Reliability",
        "qwen-code": 69,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "axlr": 80,
        "by": 11,
        "edge": "qwen-code",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "qwen-code": 91,
        "weight": 13
      },
      {
        "axlr": 83,
        "by": 2,
        "edge": "qwen-code",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "qwen-code": 85,
        "weight": 13
      },
      {
        "axlr": 62,
        "by": 9,
        "edge": "axlr",
        "key": "security",
        "name": "Security \u0026 auth",
        "qwen-code": 53,
        "weight": 14
      },
      {
        "axlr": 60,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "qwen-code": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "axlr": 79,
        "by": 9,
        "edge": "qwen-code",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "qwen-code": 88,
        "weight": 7
      },
      {
        "axlr": 55,
        "by": 11,
        "edge": "qwen-code",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "qwen-code": 66,
        "weight": 7
      }
    ],
    "summary": "AXLR scores 70.6 (BB) on agent readiness against Qwen Code's 68.7 (B), and leads in 2 of 7 scored categories. Qwen Code leads on schema \u0026 documentation, maintenance \u0026 community and 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.",
      "qwen-code": "Apache-2.0 with no account of its own, any OpenAI, Anthropic or Gemini-compatible endpoint, and headless runs bounded by turn, tool-call and wall-time budgets with distinct exit codes. Out of the box, Auto mode lets an LLM classifier approve tool calls, with the sandbox and folder trust both off. Security fixes ship as changelog lines without advisories."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/axlr-vs-qwen-code",
    "json": "https://www.anchorterminal.com/compare/axlr-vs-qwen-code.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/axlr-vs-qwen-code.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/axlr-vs-qwen-code.min.md"
  },
  "markdown": "AXLR scores 70.6 (BB) on agent readiness against Qwen Code's 68.7 (B), and leads in 2 of 7 scored categories. Qwen Code leads on schema \u0026 documentation, maintenance \u0026 community and 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- Qwen Code: grade B, 68.7/100, rank #217 of 1253. Markdown https://www.anchorterminal.com/tools/qwen-code.md · JSON https://www.anchorterminal.com/api/v1/tools/qwen-code.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- Security \u0026 auth, 62 against 53\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- No incidents deducted, where Qwen Code loses 4 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### Qwen Code (B)\n\nGood for: Developers and CI jobs that want an open-source harness tied to no single model vendor, with run budgets and SDKs.\n\nAhead on:\n- Schema \u0026 documentation, 91 against 80\n- Maintenance \u0026 community, 88 against 79\n- Transparency \u0026 trust, 66 against 55\n\nWatch for: The default approval mode is Auto, where an LLM classifier approves tool calls, and sandboxing and folder trust are both off by default\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Qwen Code +11\n\n- AXLR (80): An OpenAPI 3.1 file for the service (15 paths, 23 schemas, `mutualTLS` security scheme, `additionalProperties: false` on request bodies), a checked proto for the gRPC service, and the 19 MCP tools built from the same shared schemas (25). No llms.txt on either site (404), and the docs site renders HTML; the Markdown sources are in the repository (5). The product contract tables what each of the four interfaces can and cannot do, the work-mode table states each mode's purpose and tool policy, the transport parity ledger names every verb's arguments and behaviour, and `axlr_tools` tells the model to look for a tool before forging one (15). Typed inputs throughout, `Idempotency-Key` 16 to 128 safe ASCII characters, `expected_revision` a positive integer, policy levels, sandbox profiles and egress values enumerated, budgets as four integers, and the service rejects unknown fields, invalid types and bodies over 4 MiB (14). Examples in every guide, an error shape of `code`, `message` and `request_id`, named codes (`409 idempotency_conflict`, `400 invalid_cursor`, `422 invalid_policy`, `invalid_budget`, `sandbox_unavailable`, `not_ready`, `invalid_id`), a gRPC status mapping, and the worker's five statuses and three exit codes; no single error reference page (14). `/v1` routes and an OpenAPI version of 0.1.0 against a 0.15.0 release, and no changelog beyond the dated notes inside the docs (7). 25+5+15+14+14+7 = 80.\n- Qwen Code (91): Framework reading. A settings.schema.json in the repository, a settings reference with the type and default of each key, and an OpenAPI file for the daemon's REST API (25). llms.txt on the docs site lists the pages with a line each, though it links to HTML and the Markdown path we tried returned 404 (8). The approval-mode page says when to use each mode and the sandbox page what each method and Seatbelt profile allows (15). Approval modes, sandbox backends, filesystem and network policies are enums (13). The headless page documents json and stream-json output, and exit codes 41, 42, 44, 52, 53, 55 and 130 are documented (15). A dated changelog generated from releases (15).\n\n### Transparency \u0026 trust: Qwen Code +11\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- Qwen Code (66): Apache-2.0 (30). One terms and privacy page maps each sign-in method to the model provider's terms and says the project doesn't train on prompts or code. Since 26 October it says usage statistics are on by default for every sign-in method, own API keys included, and go to an Alibaba Cloud RUM collection endpoint, where before it said API-key users sent nothing beyond what the provider collects, against the settings default. It still gives no retention period and names no legal entity (20, was 18). The end of the Qwen OAuth free tier is dated 15 April 2026 and `tools.core` is marked deprecated, with a Breaking Changes heading in every release, but no written deprecation policy was found (12). Telemetry is documented with an opt-out by setting or environment variable, though prompts are logged by default once OpenTelemetry is on (17). 30 + 20 + 12 + 17 = 79.\n\n### Security \u0026 auth: AXLR +9\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- Qwen Code (53): Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Usage statistics are on by default (`privacy.usageStatisticsEnabled` defaults to true in the settings schema at 0.26.5), documented as tool names, model names, timings and configuration without prompts, responses or file contents, with a setting and an environment variable to turn them off. Credentials are API keys in environment variables or settings.json (15). Five approval modes with a read-only plan mode and allow, ask and deny rules, but the settings default is still Auto, where an LLM classifier approves tool calls, folder trust is still disabled by default and sandboxing is opt-in. Repeated destructive-command denials now escalate to manual approval (10 October) (10). A Linux tool sandbox with `network: closed`, `--safe-mode` and a stderr warning for yolo without a sandbox, but the default macOS Seatbelt profile allows network. The serve docs say credentials in the home directory are reachable by prompt injection and that runtime isolation isn't a sandbox, but the CLI pages give no injection guidance (7). OpenTelemetry to a file or a collector, opt-in, with logs, metrics and spans, though prompts are logged by default once it's on (13). SECURITY.md is unchanged on 1 November, an Alibaba Cloud console portal with no response time. Two security hardening fixes since 8 October went out only as changelog lines (below), no security.txt was found, and CodeQL and a monthly scorecard run in CI. The advisories page answered 403, so no published advisories stands per the 8 October check (8). 15 + 10 + 7 + 13 + 8 = 53.\n\n### Maintenance \u0026 community: Qwen Code +9\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- Qwen Code (88): 0.26.5 on 1 November 2026 (30). 39 stable releases from 3 August to 1 November (v0.21.4 to v0.26.5), plus previews and nightlies (20). Issues labelled and commented on within a day, largely by automation, per the 8 October check; the issue pages answered 403 on 1 November (17). The TypeScript SDK reached 0.1.26 on 29 October, while the Python SDK's newest tag is still sdk-python-v0.1.0-preview.0 (9 May 2026) and the Java SDK is an alpha (11). CI, CodeQL, a monthly scorecard and Dependabot (10). 30 + 20 + 17 + 11 + 10 = 88.\n\n## Score by category\n\n| Category | Weight | AXLR | Qwen Code | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 69 | AXLR +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 91 | Qwen Code +11 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 85 | Qwen Code +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 53 | AXLR +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 79 | 88 | Qwen Code +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 66 | Qwen Code +11 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **70.6 · BB** | **68.7 · B** | |\n\n## Facts side by side\n\n| Fact | AXLR | Qwen Code |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Underpass AI | Alibaba (Qwen team) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-25 | 2026-11-01 |\n| Terms last updated | no document linked | 2026-10-01 |\n| Privacy policy last updated | no document linked | 2026-10-01 |\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 | not found in the text |\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 | not found in the text |\n| Popularity | 0 stars | 28k stars, 105k npm/wk |\n| Agent reviews | none | 2.8/5 (4) |\n\n## How the scores have moved\n\n### AXLR\n\nNo score change since it was listed.\n\n### Qwen Code\n\n- -3.9 on 1 November 2026 (BB to B): terms, negative event\n- +0.1 on 28 October 2026: new evidence\n- +0.1 on 27 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**Qwen Code.** Apache-2.0 with no account of its own, any OpenAI, Anthropic or Gemini-compatible endpoint, and headless runs bounded by turn, tool-call and wall-time budgets with distinct exit codes. Out of the box, Auto mode lets an LLM classifier approve tool calls, with the sandbox and folder trust both off. Security fixes ship as changelog lines without advisories.\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### Qwen Code\n\n1. Pass `--approval-mode` on every run. The settings default is `auto`, and one docs page says headless runs default to asking, so don't rely on either\n2. Add `--max-session-turns`, `--max-wall-time` and `--max-tool-calls`. All three are unlimited by default. Exit 53 is the turn limit and 55 a budget\n3. `--yolo` doesn't turn on a sandbox. Add `--sandbox`, or on Linux set `tools.executionSandbox` with `network` set to `closed`\n4. Set `QWEN_USAGE_STATISTICS_ENABLED=false` to stop usage statistics\n5. Run 0.26.2 or later before using `qwen serve` in a cloned repository. Earlier versions let the repository's `.env` set the daemon token\n\n## Questions\n\n### Which is better for AI agents, AXLR or Qwen Code?\n\nAXLR scores 70.6 (BB) on agent readiness against Qwen Code's 68.7 (B), and leads in 2 of 7 scored categories. Qwen Code leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.\n\n### Are AXLR and Qwen Code open source?\n\nYes. AXLR is open source (Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder). Qwen Code is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/axlr-vs-qwen-code.json, and with the fewest tokens: https://www.anchorterminal.com/compare/axlr-vs-qwen-code.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"axlr\", \"b\": \"qwen-code\"}`. From a terminal: `anchor compare axlr qwen-code`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/axlr.json and https://www.anchorterminal.com/api/v1/tools/qwen-code.json\n\n## Other comparisons with AXLR or Qwen Code\n\n- [Agent Zero vs AXLR](https://www.anchorterminal.com/compare/agent-zero-vs-axlr.md)\n- [Agent Zero vs Qwen Code](https://www.anchorterminal.com/compare/agent-zero-vs-qwen-code.md)\n- [Aider vs AXLR](https://www.anchorterminal.com/compare/aider-vs-axlr.md)\n- [Aider vs Qwen Code](https://www.anchorterminal.com/compare/aider-vs-qwen-code.md)\n- [Amp vs AXLR](https://www.anchorterminal.com/compare/amp-vs-axlr.md)\n- [Amp vs Qwen Code](https://www.anchorterminal.com/compare/amp-vs-qwen-code.md)\n- [Antigravity CLI vs AXLR](https://www.anchorterminal.com/compare/antigravity-cli-vs-axlr.md)\n- [Antigravity CLI vs Qwen Code](https://www.anchorterminal.com/compare/antigravity-cli-vs-qwen-code.md)\n- [Auggie CLI vs AXLR](https://www.anchorterminal.com/compare/auggie-vs-axlr.md)\n- [Auggie CLI vs Qwen Code](https://www.anchorterminal.com/compare/auggie-vs-qwen-code.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 Qoder CLI](https://www.anchorterminal.com/compare/axlr-vs-qoder-cli.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 Qwen Code](https://www.anchorterminal.com/compare/claude-code-vs-qwen-code.md)\n- [Cline vs Qwen Code](https://www.anchorterminal.com/compare/cline-vs-qwen-code.md)\n- [Crush vs Qwen Code](https://www.anchorterminal.com/compare/crush-vs-qwen-code.md)\n- [Cursor CLI vs Qwen Code](https://www.anchorterminal.com/compare/cursor-cli-vs-qwen-code.md)\n- [DeepSeek Harness (dsh) vs Qwen Code](https://www.anchorterminal.com/compare/deepseek-harness-vs-qwen-code.md)\n- [dsh-superagent (DeepSeek) vs Qwen Code](https://www.anchorterminal.com/compare/deepseek-superagent-vs-qwen-code.md)\n- [Devin vs Qwen Code](https://www.anchorterminal.com/compare/devin-vs-qwen-code.md)\n- [Droid CLI vs Qwen Code](https://www.anchorterminal.com/compare/droid-cli-vs-qwen-code.md)\n- [Pi vs Qwen Code](https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code.md)\n- [Gemini CLI vs Qwen Code](https://www.anchorterminal.com/compare/gemini-cli-vs-qwen-code.md)\n- [GitHub Copilot CLI vs Qwen Code](https://www.anchorterminal.com/compare/github-copilot-cli-vs-qwen-code.md)\n- [goose vs Qwen Code](https://www.anchorterminal.com/compare/goose-vs-qwen-code.md)\n- [Harness² vs Qwen Code](https://www.anchorterminal.com/compare/harness2-vs-qwen-code.md)\n- [HarnessRouter vs Qwen Code](https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code.md)\n- [Jules vs Qwen Code](https://www.anchorterminal.com/compare/jules-vs-qwen-code.md)\n- [Junie CLI vs Qwen Code](https://www.anchorterminal.com/compare/junie-vs-qwen-code.md)\n- [Kilo Code CLI vs Qwen Code](https://www.anchorterminal.com/compare/kilo-code-cli-vs-qwen-code.md)\n- [Kimi Code CLI vs Qwen Code](https://www.anchorterminal.com/compare/kimi-code-cli-vs-qwen-code.md)\n- [Kiro CLI vs Qwen Code](https://www.anchorterminal.com/compare/kiro-cli-vs-qwen-code.md)\n- [mini-swe-agent vs Qwen Code](https://www.anchorterminal.com/compare/mini-swe-agent-vs-qwen-code.md)\n- [MiniMax Code vs Qwen Code](https://www.anchorterminal.com/compare/minimax-code-vs-qwen-code.md)\n- [Mistral Vibe CLI vs Qwen Code](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qwen-code.md)\n- [Muse Code vs Qwen Code](https://www.anchorterminal.com/compare/muse-code-vs-qwen-code.md)\n- [OpenAI Codex vs Qwen Code](https://www.anchorterminal.com/compare/openai-codex-vs-qwen-code.md)\n- [OpenCode vs Qwen Code](https://www.anchorterminal.com/compare/opencode-vs-qwen-code.md)\n- [OpenHands vs Qwen Code](https://www.anchorterminal.com/compare/openhands-vs-qwen-code.md)\n- [Prime Agent vs Qwen Code](https://www.anchorterminal.com/compare/prime-agent-vs-qwen-code.md)\n- [Qoder CLI vs Qwen Code](https://www.anchorterminal.com/compare/qoder-cli-vs-qwen-code.md)\n- [Qwen Code vs Mirror CLI](https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror.md)\n- [Qwen Code vs Rovo Dev CLI](https://www.anchorterminal.com/compare/qwen-code-vs-rovo-dev-cli.md)\n- [Qwen Code vs Unstoppable](https://www.anchorterminal.com/compare/qwen-code-vs-unstoppable.md)\n- [Qwen Code vs Vibe-Trading](https://www.anchorterminal.com/compare/qwen-code-vs-vibe-trading.md)\n- [Qwen Code vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/qwen-code-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 Qwen Code](https://www.anchorterminal.com/compare/clawboo-vs-qwen-code.md)\n- [CLI Manager vs Qwen Code](https://www.anchorterminal.com/compare/cli-manager-vs-qwen-code.md)\n- [Harness vs Qwen Code](https://www.anchorterminal.com/compare/harness-autonomous-vs-qwen-code.md)\n- [OpenMausBot vs Qwen Code](https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code.md)\n- [Paperclip vs Qwen Code](https://www.anchorterminal.com/compare/paperclip-vs-qwen-code.md)\n- [Parallax vs Qwen Code](https://www.anchorterminal.com/compare/parallax-agents-vs-qwen-code.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 Qwen Code",
        "url": ""
      }
    ],
    "description": "AXLR scores 70.6 (BB) to Qwen Code's 68.7 (B) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AXLR BB 70.6",
      "Qwen Code B 68.7",
      "scores"
    ],
    "h1": "AXLR vs Qwen Code",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/axlr-vs-qwen-code",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AXLR vs Qwen Code for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-01",
    "url": "https://www.anchorterminal.com/compare/axlr-vs-qwen-code"
  },
  "tokens": {
    "markdown": 6250,
    "slim": 2930
  },
  "version": 1
}
