{
  "data": {
    "a": {
      "slug": "crush",
      "name": "Crush",
      "vendor": "Charm",
      "vendorUrl": "https://charm.land",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Terminal coding agent from Charm, written in Go, that works with the model of the owner's choice. It has a TUI, a one-shot `crush run` mode, LSP context, MCP servers, Agent Skills and an optional local client-server mode.",
      "url": "https://www.anchorterminal.com/tools/crush",
      "markdownUrl": "https://www.anchorterminal.com/tools/crush.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/crush.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/crush.json",
      "dns": "crush.grade.anchorterminal.com",
      "repo": "https://github.com/charmbracelet/crush",
      "license": "FSL-1.1-MIT (source-available, each release converts to MIT two years after it is made available)",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@charmland/crush"
        },
        {
          "registry": "go",
          "name": "github.com/charmbracelet/crush"
        }
      ],
      "auth": "mixed",
      "authNotes": "No Charm account is needed. Provider keys come from environment variables such as `ANTHROPIC_API_KEY` or `OPENAI_API_KEY`, the model picker or a `crushrc`, local models need none, and Charm's Hyper provider uses a device login. `crush server` has no authentication and listens on a per-user Unix socket by default.",
      "pricing": "freemium",
      "pricingNotes": "The CLI is free to use under FSL-1.1-MIT. You pay your model provider, or Charm's Hyper subscription, which the README says has a free tier. Hyper's public provider file lists per-million-token figures for 22 models. Plan prices sit in a script-rendered app and weren't read.",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the docs folder or the source (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 29000,
        "npmWeekly": 5594,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://github.com/charmbracelet/crush#readme",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "harness",
        "coding-agent",
        "cli",
        "source-available",
        "go",
        "mcp",
        "telemetry-default-on",
        "pre-1.0",
        "freemium",
        "no-card",
        "local"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.8,
        "grade": "D",
        "agentReady": false,
        "rank": 1082,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 41,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 82,
          "payments": 55,
          "reliability": 52,
          "schema": 65,
          "security": 41,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -6,
        "negativeNotes": [
          "23 October 2026. Released fix of a described flaw with no advisory found. v0.98.2 carried 1dbd303a, which says write, edit and multiedit created parent directories before the permission prompt, so \"An agent could mkdir -p anywhere on the machine with no consent\". OSV lists no advisory for Crush, so 3 is deducted (https://github.com/charmbracelet/crush/commit/1dbd303a).",
          "30 October 2026. Fix in no release. fd40067e, merged to main on 30 October and carried only by the `nightly` pre-release, says an \"allow for this session\" approval of one shell command \"stood in for every command run in that directory afterwards, however dangerous, with no further prompt\". v0.99.0 (29 October) still keys session grants on tool, action and path. 3 is deducted until a release carries it (https://github.com/charmbracelet/crush/commit/fd40067e)."
        ],
        "verdict": "Works with almost any provider or a local model and needs no Charm account. `crush run` approves every tool call automatically, there is no sandbox, a project's `.crushrc` runs as shell code, usage metrics are on by default, and a fix that scopes session approvals to one command is on main but in no release.",
        "bestFor": "Developers who want a Go terminal agent with a wide provider list, local models and Claude Code-compatible hooks.",
        "strengths": [
          "Any OpenAI- or Anthropic-compatible provider, Bedrock, Vertex, Azure and local models through Ollama, llama.cpp, LM Studio or LiteLLM, with no Charm account",
          "PreToolUse hooks, compatible with Claude Code's format, can block or rewrite tool calls",
          "Releases cosign-signed, with CodeQL, Grype and govulncheck in CI",
          "19 releases from 7 August to 29 October 2026, the latest v0.99.0 on 29 October",
          "Built for macOS, Linux, Windows, Android and three BSDs, with packages for npm, Homebrew, Winget, Scoop, apt, yum and Nix"
        ],
        "weaknesses": [
          "`crush run` approves every permission request automatically, which the README doesn't mention",
          "No sandbox, only a refusal list of shell commands, and permission fixes merged on 30 October 2026 are in no release yet",
          "A project's `.crushrc` and `$(...)` in `crush.json` run as code when Crush starts",
          "Usage metrics are on by default and are linked to the Hyper account after a Hyper login",
          "No JSON output, turn limit or cost limit for `crush run`, and the client-server API is opt-in and has no authentication"
        ],
        "agentNotes": [
          "Add `permissions deny` rules or a PreToolUse hook before `crush run`. It approves every permission request in its session, and a session approval in v0.99.0 covers later commands in the same directory",
          "Read `.crushrc`, `crushrc` and `crush.json` in a cloned repository before running Crush there. They execute as shell code at startup",
          "Set `CRUSH_DISABLE_METRICS=1` or `DO_NOT_TRACK=1` to stop usage metrics to data.charm.land",
          "Wrap `crush run` in your own timeout. It has no turn, time or cost limit flag",
          "Configure a provider by environment variable or `crushrc` first. With none, `crush run` exits with an error asking for interactive setup"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.8
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 82,
          "payments": 55,
          "reliability": 52,
          "schema": 65,
          "security": 41,
          "transparency": 49
        },
        "provenanceScore": 69,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @charmland/crush   # or: brew install charmbracelet/tap/crush",
        "headless": {
          "command": "crush run --quiet \"$TASK\"",
          "env": {
            "CRUSH_DISABLE_METRICS": "1"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/crush"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Hyper, qwen3.8-max (default large model), input",
          "unit": "1m-tokens",
          "usd": 2,
          "note": "output $6, from Hyper's public provider file"
        },
        {
          "item": "Hyper, deepseek-v4.1-flash (default small model), input",
          "unit": "1m-tokens",
          "usd": 0.33,
          "note": "output $1.31, from Hyper's public provider file"
        }
      ],
      "provenance": {
        "legalEntity": "Charmbracelet, Inc.",
        "domain": "charm.land",
        "domainRegistered": "2023-08-17",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/charmbracelet/crush/releases",
        "securityTxt": "none",
        "checked": "2026-10-18",
        "notes": [
          "LICENSE.md and the charm.land footer name Charmbracelet, Inc.",
          "charm.land/privacy, charm.land/terms and charm.land/.well-known/security.txt return Charm's not-found page. Hyper links Terms of Service and a Privacy Policy at hyper.charm.land/legal, which render by script and weren't read.",
          "The organisation's SECURITY.md gives vt100@charm.sh for reports. The crush repository has no SECURITY.md of its own.",
          "Release notes are generated from commit messages on GitHub releases. There is no CHANGELOG file in the repository."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/crush.json",
      "live": {
        "slug": "crush",
        "versions": [
          {
            "registry": "github",
            "name": "charmbracelet/crush",
            "version": "v0.100.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:18:38.482836477Z"
          },
          {
            "registry": "npm",
            "name": "@charmland/crush",
            "version": "0.100.0",
            "seenAt": "2026-11-06T23:18:38.262616832Z"
          }
        ],
        "githubStars": 28981,
        "npmWeekly": 19666,
        "securityTxt": {
          "url": "https://charm.land/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:10.92332678Z"
        },
        "domain": {
          "domain": "charm.land",
          "registered": "2023-08-17",
          "source": "https://rdap.identitydigital.services/rdap/domain/charm.land",
          "checkedAt": "2026-11-01T14:21:15.41389399Z"
        },
        "github": {
          "repo": "charmbracelet/crush",
          "checkedAt": "2026-11-02T08:37:55.400043602Z",
          "stars": 28910,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T07:41:22Z",
          "openIssues": 284,
          "openPRs": 244,
          "issuesOpened90d": 174,
          "issuesClosed90d": 262,
          "prsMerged90d": 203,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 46,
            "failure": 1,
            "other": 3,
            "latest": "success",
            "latestAt": "2026-11-02T07:43:21Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 17,
            "medianDays": 4.9
          }
        },
        "updatedAt": "2026-11-07T16:01:10.92332678Z"
      }
    },
    "answer": "T3 Code scores 51.9 (D) on agent readiness against Crush's 49.8 (D), and leads in 2 of 7 scored categories. Crush leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "t3-code",
      "name": "T3 Code",
      "vendor": "T3 Tools Inc.",
      "vendorUrl": "https://t3.codes",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "T3 Code is an open-source control surface for the coding agents on your machine, Claude Code, Codex, Cursor, Grok Build, OpenCode, Antigravity and fx, from desktop, web and iOS and Android apps.",
      "url": "https://www.anchorterminal.com/tools/t3-code",
      "markdownUrl": "https://www.anchorterminal.com/tools/t3-code.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/t3-code.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/t3-code.json",
      "dns": "t3-code.grade.anchorterminal.com",
      "repo": "https://github.com/pingdotgg/t3code",
      "license": "MIT",
      "transports": [],
      "packages": [],
      "auth": "none",
      "pricing": "free",
      "pricingNotes": "Free and open source. You pay for the coding agents it runs, through your own subscriptions or API keys (checked 2026-11-07).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payment protocol in the repository or README (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://github.com/pingdotgg/t3code/tree/main/docs",
      "capabilities": [
        "agent.harness",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "mit",
        "desktop-app",
        "mobile",
        "telemetry",
        "new"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.9,
        "grade": "D",
        "agentReady": false,
        "rank": 1008,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 40,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 75,
          "payments": 60,
          "reliability": 43,
          "schema": 55,
          "security": 35,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "A fast-moving open-source way to run and steer several coding agents from desktop, browser or phone, using the subscriptions you already have. It's pre-1.0, and it sends usage data by default, including hashed identifiers for your OpenAI and Claude accounts, with the opt-out documented outside the README.",
        "bestFor": "Developers who want one app, including on their phone, to drive several coding agents they already pay for.",
        "strengths": [
          "Controls Claude Code, Codex, Cursor, Grok Build, OpenCode, Antigravity and fx with your existing subscriptions",
          "iOS and Android apps to steer agents running on your machine",
          "Managed policies for teams, including turning telemetry off",
          "MIT, with active CI and daily nightlies"
        ],
        "weaknesses": [
          "Usage data on by default, with hashed OpenAI and Claude account identifiers, and relay traces to Axiom",
          "The telemetry opt-out is in the docs, not the README",
          "Pre-1.0, at 0.1.7 stable",
          "Installs with curl piped to sh"
        ],
        "agentNotes": [
          "Set T3CODE_TELEMETRY_ENABLED=false before starting the server if you don't want usage events sent",
          "Install and log in to at least one provider CLI first, such as codex login or claude auth login",
          "Use a managed policy to fix settings across a team"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51.9
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 75,
          "payments": 60,
          "reliability": 43,
          "schema": 55,
          "security": 35,
          "transparency": 62
        },
        "provenanceScore": 40,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "curl -fsSL https://t3.codes/install.sh | sh"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/t3-code"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "T3 Tools Inc.",
        "domain": "t3.codes",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "The licence names T3 Tools Inc.. The repository is github.com/pingdotgg/t3code."
        ],
        "score": 40
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/t3-code.json",
      "live": {
        "slug": "t3-code",
        "securityTxt": {
          "url": "https://t3.codes/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-11-07T09:42:17.281Z",
          "checkedAt": "2026-11-07T16:01:55.404622007Z"
        },
        "updatedAt": "2026-11-07T16:01:55.404622007Z"
      }
    },
    "edges": [
      {
        "by": 10,
        "category": "schema",
        "leads": "crush",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Harness reading of the framework line. A JSON Schema for the config at https://charm.land/crush.json (also printed by `crush schema`), `--json` on the session commands, and an OpenAPI document that `crush server` generates from its endpoint list and serves at `/v1/docs/openapi.json`, which isn't published anywhere we could fetch. `crush run` output has no typed form (20). No llms.txt (charm.land/llms.txt is a not-found page). The docs are Markdown in the repository and the hooks guide says it was written for humans and agents (5). The README and config docs explain when to allow, deny or hook a tool and warn that configs run as code (12). The schema carries enums and defaults, such as the attribution trailer style, while permissions take bare tool names with no command patterns (11). Many examples for providers, MCP, hooks and local models, with no reference for error messages or exit codes (9). Version tags and GitHub releases with generated notes, which we couldn't open, and no changelog file (8).",
          "b": "Harness reading. User docs in the repository (managed policy, handoffs, providers, telemetry), AGENTS.md for contributors, a server other clients connect to (55)."
        },
        "scores": {
          "a": 65,
          "b": 55
        }
      },
      {
        "by": 9,
        "category": "reliability",
        "leads": "crush",
        "name": "Reliability",
        "reasons": {
          "a": "Local-package reading. `@charmland/crush` on npm, a Homebrew tap, Winget, Scoop, AUR, Nix, FreeBSD pkg, Charm's apt and yum repositories and release binaries, with supported platforms named in the README (20). The public build workflow runs `go test -race -failfast ./...` on Linux, macOS and Windows for every push to main and every pull request, but GitHub pages and the API answer 403 to us, so results are unread (15). The 18 October issue and pull request counts came from shields.io badges, a third-party copy of GitHub data, and are struck. The repository's own refs show 2,574 pull requests to #4224, 272 of them open with a merge ref, and 147 merges into main in the 90 days to 4 November. Crash and regression issues couldn't be read (10). Release notes are generated from commit messages, with no CHANGELOG file and no breaking-change headings found. The legacy JSON config is deprecated in favour of `crushrc` while still loading (7, held partial). v0.99.0, before 1.0, with no stability statement (0). 20 + 15 + 10 + 7 + 0 = 52.",
          "b": "Local software. An install script and desktop and mobile apps from the vendor (20). ci.yml and windows-tests.yml run on the repository; pass state not read (15). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Stable tags v0.1.5 to v0.1.7 with many nightlies, no changelog file (8). Version 0.1.7 (0). 20 + 15 + 0 + 8 + 0 = 43."
        },
        "scores": {
          "a": 52,
          "b": 43
        }
      },
      {
        "by": 8,
        "category": "ergonomics",
        "leads": "t3-code",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Harness reading, scored on what an agent or pipeline driving `crush run` has to supply. About 20 built-in tools, any of which `permissions deny` hides, MCP servers take per-server `disabled_tools`, and skills can be turned off or kept out of the model's list. No lazy loading of MCP tools found (17). No turn, time or cost limit on `crush run`, and the only output controls are `--quiet` and `--verbose` (6). Errors come back as plain messages with a non-zero exit, such as the one for an unconfigured provider, with no documented codes and no JSON error record (8). `--session` and `--continue` resume a run, and `crush session list`, `show`, `last`, `rename` and `delete` take `--json` (13). One argument starts a run and environment keys are picked up, but there's no SDK, and the HTTP API needs `CRUSH_CLIENT_SERVER=1` and is described only in one README section (8).",
          "b": "Harness reading. Remote control from phone or browser, portable handoffs between providers and managed policies for teams (60)."
        },
        "scores": {
          "a": 52,
          "b": 60
        }
      },
      {
        "by": 8,
        "category": "transparency",
        "leads": "crush",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "FSL-1.1-MIT, source-available, barring competing commercial use and converting each release to MIT on its second anniversary. Code from before 30 May 2025 is MIT. Not an OSI licence today (20). No privacy policy or terms for Crush were found on charm.land, and Hyper's legal pages render by script and weren't read. The README says Hyper is zero-data-retention, while Hyper's own app says some plans aren't and that usage on them may train Hyper's models, so the statements don't agree (8). The JSON config is marked deprecated with no removal date, and no deprecation policy was found (6). The README discloses usage metrics, links the source, says prompts aren't collected and gives two opt-outs, but doesn't mention the alias to the Hyper account (15).",
          "b": "MIT (30). docs/user/telemetry.md lists what is sent and what isn't, but includes hashed third-party account identifiers and the README doesn't mention it (15 of 30). No deprecation policy (5). Disclosed with an opt-out, on by default (12 of 20). 30 + 15 + 5 + 12 = 62."
        },
        "scores": {
          "a": 59,
          "b": 51
        }
      },
      {
        "by": 7,
        "category": "maintenance",
        "leads": "crush",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v0.99.0 tagged on 29 October 2026 (6 days, 30). 21 release tags from 7 August to 29 October, v0.88.1 to v0.99.0, besides a moving `nightly` tag that isn't counted (20). The 18 October shields.io counts are struck. The repository's refs show 147 merges into main and 438 commits in the 90 days to 4 November, with 272 open pull requests carrying a merge ref, and new contributors signing the CLA most days. Reply times couldn't be read (12). No SDK, as with other harnesses. npm, Homebrew, Winget, Scoop, apt, yum and NUR builds come from the release workflow (12, held partial). Dependabot, a `go mod tidy` check in CI and nightly security scans, with CI results unread (8). 30 + 20 + 12 + 12 + 8 = 82.",
          "b": "Commits and nightly tags on 6 November 2026 (30). More than three releases in 90 days (20). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Current official apps and install script (15). CI on push (10). 30 + 20 + 0 + 15 + 10 = 75."
        },
        "scores": {
          "a": 82,
          "b": 75
        }
      },
      {
        "by": 6,
        "category": "security",
        "leads": "crush",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Harness reading of the framework checklist, as for the other 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. Usage metrics go to PostHog through data.charm.land by default, keyed to a hashed machine ID, aliased to the Hyper user ID after a Hyper login, and including error messages. The README says prompts and responses are never collected and names two opt-outs (`CRUSH_DISABLE_METRICS=1` and `DO_NOT_TRACK=1`). The provider list is fetched from Catwalk at startup unless turned off, the update check only notifies, and provider keys stay local (15). The TUI asks before bash, edit, write, fetch, download and MCP calls, `permissions deny` hides tools and PreToolUse hooks can block calls. But `crush run` approves every permission request in its session automatically (internal/app/app.go in v0.99.0), `--yolo` skips all prompts, and there's no sandbox, only a refusal list for curl, wget, ssh, sudo, package managers and similar commands (7). No prompt-injection guidance found, and a project's `.crushrc` and `$(...)` in `crush.json` run as code at startup, which the README warns about (3). Logs in `./.crush/logs/crush.log` with `crush logs`, sessions in a local database readable as JSON, and `crush stats`, with no OpenTelemetry export (9). The organisation's SECURITY.md is a disclosure policy with a reporting address (vt100@charm.sh) and no response time. CI runs CodeQL, Grype and govulncheck nightly and releases are cosign-signed. OSV lists no advisory for the npm package or the Go module. No security.txt and no bug bounty. A disclosure route with no stated time is this run's 7 (was 10). 15 + 7 + 3 + 9 + 7 = 41.",
          "b": "Harness reading. Product usage events go by default to ingest.t3.codes and PostHog, with hashed identifiers for your T3 Connect, OpenAI and Claude accounts, and relay traces to Axiom, which can include machine names and error text. Off with T3CODE_TELEMETRY_ENABLED=false or a managed policy. Disclosed in docs/user/telemetry.md, not the README (10 of 30). Permission modes and managed policies (12 of 20). No prompt-injection guidance (5). No audit log (5). No security policy file found (3). 10 + 12 + 5 + 5 + 3 = 35."
        },
        "scores": {
          "a": 41,
          "b": 35
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Charm",
        "b": "T3 Tools Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "FSL-1.1-MIT (source-available, each release converts to MIT two years after it is made available)",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "29k stars, 5.6k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "T3 Code scores 51.9 (D) on agent readiness against Crush's 49.8 (D), and leads in 2 of 7 scored categories. Crush leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Crush or T3 Code?"
      },
      {
        "answer": "No open-source release is listed for Crush. T3 Code is open source (MIT).",
        "question": "Are Crush and T3 Code open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 52 against 43",
          "Schema \u0026 documentation, 65 against 55",
          "Security \u0026 auth, 41 against 35",
          "Maintenance \u0026 community, 82 against 75",
          "Transparency \u0026 trust, 59 against 51"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Developers who want a Go terminal agent with a wide provider list, local models and Claude Code-compatible hooks.",
        "slug": "crush",
        "watchFor": "`crush run` approves every permission request automatically, which the README doesn't mention"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 60 against 52",
          "Payments \u0026 pricing, 60 against 55"
        ],
        "also": [
          "No key needed to call it",
          "Open source",
          "No incidents deducted, where Crush loses 6 points for them"
        ],
        "goodFor": "Developers who want one app, including on their phone, to drive several coding agents they already pay for.",
        "slug": "t3-code",
        "watchFor": "Usage data on by default, with hashed OpenAI and Claude account identifiers, and relay traces to Axiom"
      }
    ],
    "history": {
      "crush": [
        {
          "causes": [
            "security",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -6.9,
          "from": 56.7,
          "fromGrade": "C",
          "to": 49.8,
          "toGrade": "D"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 56.5,
          "fromGrade": "C",
          "to": 56.7,
          "toGrade": "C"
        }
      ],
      "t3-code": null
    },
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-crush.json",
        "title": "Agent Zero vs Crush",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-t3-code.json",
        "title": "Agent Zero vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-crush.json",
        "title": "Aider vs Crush",
        "url": "https://www.anchorterminal.com/compare/aider-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-t3-code.json",
        "title": "Aider vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/aider-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-crush.json",
        "title": "Amp vs Crush",
        "url": "https://www.anchorterminal.com/compare/amp-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-t3-code.json",
        "title": "Amp vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/amp-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-crush.json",
        "title": "Antigravity CLI vs Crush",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-t3-code.json",
        "title": "Antigravity CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-crush.json",
        "title": "Auggie CLI vs Crush",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-t3-code.json",
        "title": "Auggie CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-t3-code"
      },
      {
        "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-t3-code.json",
        "title": "AXLR vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-crush.json",
        "title": "Claude Code vs Crush",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-t3-code.json",
        "title": "Claude Code vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-crush.json",
        "title": "Cline vs Crush",
        "url": "https://www.anchorterminal.com/compare/cline-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-t3-code.json",
        "title": "Cline vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/cline-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/conductor-vs-crush.json",
        "title": "Conductor vs Crush",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/conductor-vs-t3-code.json",
        "title": "Conductor vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-cursor-cli.json",
        "title": "Crush vs Cursor CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-cursor-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-deepseek-harness.json",
        "title": "Crush vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/crush-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-deepseek-superagent.json",
        "title": "Crush vs dsh-superagent (DeepSeek)",
        "url": "https://www.anchorterminal.com/compare/crush-vs-deepseek-superagent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-devin.json",
        "title": "Crush vs Devin",
        "url": "https://www.anchorterminal.com/compare/crush-vs-devin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-droid-cli.json",
        "title": "Crush vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-earendil-pi.json",
        "title": "Crush vs Pi",
        "url": "https://www.anchorterminal.com/compare/crush-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-emdash.json",
        "title": "Crush vs Emdash",
        "url": "https://www.anchorterminal.com/compare/crush-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-gemini-cli.json",
        "title": "Crush vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-github-copilot-cli.json",
        "title": "Crush vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-goose.json",
        "title": "Crush vs goose",
        "url": "https://www.anchorterminal.com/compare/crush-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-harness2.json",
        "title": "Crush vs Harness²",
        "url": "https://www.anchorterminal.com/compare/crush-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-harnessrouter.json",
        "title": "Crush vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/crush-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-jules.json",
        "title": "Crush vs Jules",
        "url": "https://www.anchorterminal.com/compare/crush-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-junie.json",
        "title": "Crush vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-kilo-code-cli.json",
        "title": "Crush vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-kimi-code-cli.json",
        "title": "Crush vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-kiro-cli.json",
        "title": "Crush vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-letta.json",
        "title": "Crush vs Letta",
        "url": "https://www.anchorterminal.com/compare/crush-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-mini-swe-agent.json",
        "title": "Crush vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/crush-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-minimax-code.json",
        "title": "Crush vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/crush-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-mistral-vibe-cli.json",
        "title": "Crush vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-muse-code.json",
        "title": "Crush vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/crush-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openai-agents-api.json",
        "title": "Crush vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openai-codex.json",
        "title": "Crush vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-opencode.json",
        "title": "Crush vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/crush-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openhands.json",
        "title": "Crush vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openmausbot.json",
        "title": "Crush vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-orca.json",
        "title": "Crush vs Orca",
        "url": "https://www.anchorterminal.com/compare/crush-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-paseo.json",
        "title": "Crush vs Paseo",
        "url": "https://www.anchorterminal.com/compare/crush-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-prime-agent.json",
        "title": "Crush vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/crush-vs-prime-agent"
      },
      {
        "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/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/crush-vs-reflection-mirror.json",
        "title": "Crush vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-rovo-dev-cli.json",
        "title": "Crush vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-sculptor.json",
        "title": "Crush vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/crush-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-traycer.json",
        "title": "Crush vs Traycer",
        "url": "https://www.anchorterminal.com/compare/crush-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-unstoppable.json",
        "title": "Crush vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/crush-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-verdent.json",
        "title": "Crush vs Verdent",
        "url": "https://www.anchorterminal.com/compare/crush-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-vibe-trading.json",
        "title": "Crush vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/crush-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-warp.json",
        "title": "Crush vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/crush-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-t3-code.json",
        "title": "Cursor CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-t3-code.json",
        "title": "DeepSeek Harness (dsh) vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-t3-code.json",
        "title": "dsh-superagent (DeepSeek) vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-t3-code.json",
        "title": "Devin vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/devin-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-t3-code.json",
        "title": "Droid CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-t3-code.json",
        "title": "Pi vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-t3-code.json",
        "title": "Emdash vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-t3-code.json",
        "title": "Gemini CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-t3-code.json",
        "title": "GitHub Copilot CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-t3-code.json",
        "title": "goose vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/goose-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-t3-code.json",
        "title": "Harness² vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-t3-code.json",
        "title": "HarnessRouter vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-t3-code.json",
        "title": "Jules vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/jules-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-t3-code.json",
        "title": "Junie CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-t3-code.json",
        "title": "Kilo Code CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-t3-code.json",
        "title": "Kimi Code CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-t3-code.json",
        "title": "Kiro CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-t3-code.json",
        "title": "Letta vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-t3-code.json",
        "title": "mini-swe-agent vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-t3-code.json",
        "title": "MiniMax Code vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-t3-code.json",
        "title": "Mistral Vibe CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-t3-code.json",
        "title": "Muse Code vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-t3-code.json",
        "title": "OpenAI Agents API vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-t3-code.json",
        "title": "OpenAI Codex vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-t3-code.json",
        "title": "OpenCode vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-t3-code.json",
        "title": "OpenHands vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orca-vs-t3-code.json",
        "title": "Orca vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/orca-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paseo-vs-t3-code.json",
        "title": "Paseo vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/paseo-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-t3-code.json",
        "title": "Prime Agent vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-t3-code.json",
        "title": "Qoder CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-t3-code.json",
        "title": "Qwen Code vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-t3-code.json",
        "title": "Mirror CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-t3-code.json",
        "title": "Rovo Dev CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sculptor-vs-t3-code.json",
        "title": "Sculptor vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/sculptor-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-traycer.json",
        "title": "T3 Code vs Traycer",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-unstoppable.json",
        "title": "T3 Code vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-verdent.json",
        "title": "T3 Code vs Verdent",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-vibe-trading.json",
        "title": "T3 Code vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-warp.json",
        "title": "T3 Code vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-crush.json",
        "title": "Clawboo vs Crush",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-t3-code.json",
        "title": "Clawboo vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-crush.json",
        "title": "CLI Manager vs Crush",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-t3-code.json",
        "title": "CLI Manager vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-harness-autonomous.json",
        "title": "Crush vs Harness",
        "url": "https://www.anchorterminal.com/compare/crush-vs-harness-autonomous"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-paperclip.json",
        "title": "Crush vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/crush-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-parallax-agents.json",
        "title": "Crush vs Parallax",
        "url": "https://www.anchorterminal.com/compare/crush-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-t3-code.json",
        "title": "Harness vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-t3-code.json",
        "title": "OpenMausBot vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-t3-code.json",
        "title": "Paperclip vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-t3-code.json",
        "title": "Parallax vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-t3-code"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 9,
        "crush": 52,
        "edge": "crush",
        "key": "reliability",
        "name": "Reliability",
        "t3-code": 43,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "crush": 65,
        "edge": "crush",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "t3-code": 55,
        "weight": 13
      },
      {
        "by": 8,
        "crush": 52,
        "edge": "t3-code",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "t3-code": 60,
        "weight": 13
      },
      {
        "by": 6,
        "crush": 41,
        "edge": "crush",
        "key": "security",
        "name": "Security \u0026 auth",
        "t3-code": 35,
        "weight": 14
      },
      {
        "by": 5,
        "crush": 55,
        "edge": "t3-code",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "t3-code": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "crush": 82,
        "edge": "crush",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "t3-code": 75,
        "weight": 7
      },
      {
        "by": 8,
        "crush": 59,
        "edge": "crush",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "t3-code": 51,
        "weight": 7
      }
    ],
    "summary": "T3 Code scores 51.9 (D) on agent readiness against Crush's 49.8 (D), and leads in 2 of 7 scored categories. Crush leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "crush": "Works with almost any provider or a local model and needs no Charm account. `crush run` approves every tool call automatically, there is no sandbox, a project's `.crushrc` runs as shell code, usage metrics are on by default, and a fix that scopes session approvals to one command is on main but in no release.",
      "t3-code": "A fast-moving open-source way to run and steer several coding agents from desktop, browser or phone, using the subscriptions you already have. It's pre-1.0, and it sends usage data by default, including hashed identifiers for your OpenAI and Claude accounts, with the opt-out documented outside the README."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/crush-vs-t3-code",
    "json": "https://www.anchorterminal.com/compare/crush-vs-t3-code.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/crush-vs-t3-code.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/crush-vs-t3-code.min.md"
  },
  "markdown": "T3 Code scores 51.9 (D) on agent readiness against Crush's 49.8 (D), and leads in 2 of 7 scored categories. Crush leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust. Both do agent harnesses.\n\n- Crush: grade D, 49.8/100, rank #1082 of 1510. Markdown https://www.anchorterminal.com/tools/crush.md · JSON https://www.anchorterminal.com/api/v1/tools/crush.json\n- T3 Code: grade D, 51.9/100, rank #1008 of 1510. Markdown https://www.anchorterminal.com/tools/t3-code.md · JSON https://www.anchorterminal.com/api/v1/tools/t3-code.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 1500 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### Crush (D)\n\nGood for: Developers who want a Go terminal agent with a wide provider list, local models and Claude Code-compatible hooks.\n\nAhead on:\n- Reliability, 52 against 43\n- Schema \u0026 documentation, 65 against 55\n- Security \u0026 auth, 41 against 35\n- Maintenance \u0026 community, 82 against 75\n- Transparency \u0026 trust, 59 against 51\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: `crush run` approves every permission request automatically, which the README doesn't mention\n\n### T3 Code (D)\n\nGood for: Developers who want one app, including on their phone, to drive several coding agents they already pay for.\n\nAhead on:\n- Agent ergonomics, 60 against 52\n- Payments \u0026 pricing, 60 against 55\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n- No incidents deducted, where Crush loses 6 points for them\n\nWatch for: Usage data on by default, with hashed OpenAI and Claude account identifiers, and relay traces to Axiom\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Crush +10\n\n- Crush (65): Harness reading of the framework line. A JSON Schema for the config at https://charm.land/crush.json (also printed by `crush schema`), `--json` on the session commands, and an OpenAPI document that `crush server` generates from its endpoint list and serves at `/v1/docs/openapi.json`, which isn't published anywhere we could fetch. `crush run` output has no typed form (20). No llms.txt (charm.land/llms.txt is a not-found page). The docs are Markdown in the repository and the hooks guide says it was written for humans and agents (5). The README and config docs explain when to allow, deny or hook a tool and warn that configs run as code (12). The schema carries enums and defaults, such as the attribution trailer style, while permissions take bare tool names with no command patterns (11). Many examples for providers, MCP, hooks and local models, with no reference for error messages or exit codes (9). Version tags and GitHub releases with generated notes, which we couldn't open, and no changelog file (8).\n- T3 Code (55): Harness reading. User docs in the repository (managed policy, handoffs, providers, telemetry), AGENTS.md for contributors, a server other clients connect to (55).\n\n### Reliability: Crush +9\n\n- Crush (52): Local-package reading. `@charmland/crush` on npm, a Homebrew tap, Winget, Scoop, AUR, Nix, FreeBSD pkg, Charm's apt and yum repositories and release binaries, with supported platforms named in the README (20). The public build workflow runs `go test -race -failfast ./...` on Linux, macOS and Windows for every push to main and every pull request, but GitHub pages and the API answer 403 to us, so results are unread (15). The 18 October issue and pull request counts came from shields.io badges, a third-party copy of GitHub data, and are struck. The repository's own refs show 2,574 pull requests to #4224, 272 of them open with a merge ref, and 147 merges into main in the 90 days to 4 November. Crash and regression issues couldn't be read (10). Release notes are generated from commit messages, with no CHANGELOG file and no breaking-change headings found. The legacy JSON config is deprecated in favour of `crushrc` while still loading (7, held partial). v0.99.0, before 1.0, with no stability statement (0). 20 + 15 + 10 + 7 + 0 = 52.\n- T3 Code (43): Local software. An install script and desktop and mobile apps from the vendor (20). ci.yml and windows-tests.yml run on the repository; pass state not read (15). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Stable tags v0.1.5 to v0.1.7 with many nightlies, no changelog file (8). Version 0.1.7 (0). 20 + 15 + 0 + 8 + 0 = 43.\n\n### Agent ergonomics: T3 Code +8\n\n- Crush (52): Harness reading, scored on what an agent or pipeline driving `crush run` has to supply. About 20 built-in tools, any of which `permissions deny` hides, MCP servers take per-server `disabled_tools`, and skills can be turned off or kept out of the model's list. No lazy loading of MCP tools found (17). No turn, time or cost limit on `crush run`, and the only output controls are `--quiet` and `--verbose` (6). Errors come back as plain messages with a non-zero exit, such as the one for an unconfigured provider, with no documented codes and no JSON error record (8). `--session` and `--continue` resume a run, and `crush session list`, `show`, `last`, `rename` and `delete` take `--json` (13). One argument starts a run and environment keys are picked up, but there's no SDK, and the HTTP API needs `CRUSH_CLIENT_SERVER=1` and is described only in one README section (8).\n- T3 Code (60): Harness reading. Remote control from phone or browser, portable handoffs between providers and managed policies for teams (60).\n\n### Transparency \u0026 trust: Crush +8\n\n- Crush (59): FSL-1.1-MIT, source-available, barring competing commercial use and converting each release to MIT on its second anniversary. Code from before 30 May 2025 is MIT. Not an OSI licence today (20). No privacy policy or terms for Crush were found on charm.land, and Hyper's legal pages render by script and weren't read. The README says Hyper is zero-data-retention, while Hyper's own app says some plans aren't and that usage on them may train Hyper's models, so the statements don't agree (8). The JSON config is marked deprecated with no removal date, and no deprecation policy was found (6). The README discloses usage metrics, links the source, says prompts aren't collected and gives two opt-outs, but doesn't mention the alias to the Hyper account (15).\n- T3 Code (51): MIT (30). docs/user/telemetry.md lists what is sent and what isn't, but includes hashed third-party account identifiers and the README doesn't mention it (15 of 30). No deprecation policy (5). Disclosed with an opt-out, on by default (12 of 20). 30 + 15 + 5 + 12 = 62.\n\n### Maintenance \u0026 community: Crush +7\n\n- Crush (82): v0.99.0 tagged on 29 October 2026 (6 days, 30). 21 release tags from 7 August to 29 October, v0.88.1 to v0.99.0, besides a moving `nightly` tag that isn't counted (20). The 18 October shields.io counts are struck. The repository's refs show 147 merges into main and 438 commits in the 90 days to 4 November, with 272 open pull requests carrying a merge ref, and new contributors signing the CLA most days. Reply times couldn't be read (12). No SDK, as with other harnesses. npm, Homebrew, Winget, Scoop, apt, yum and NUR builds come from the release workflow (12, held partial). Dependabot, a `go mod tidy` check in CI and nightly security scans, with CI results unread (8). 30 + 20 + 12 + 12 + 8 = 82.\n- T3 Code (75): Commits and nightly tags on 6 November 2026 (30). More than three releases in 90 days (20). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Current official apps and install script (15). CI on push (10). 30 + 20 + 0 + 15 + 10 = 75.\n\n### Security \u0026 auth: Crush +6\n\n- Crush (41): Harness reading of the framework checklist, as for the other 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. Usage metrics go to PostHog through data.charm.land by default, keyed to a hashed machine ID, aliased to the Hyper user ID after a Hyper login, and including error messages. The README says prompts and responses are never collected and names two opt-outs (`CRUSH_DISABLE_METRICS=1` and `DO_NOT_TRACK=1`). The provider list is fetched from Catwalk at startup unless turned off, the update check only notifies, and provider keys stay local (15). The TUI asks before bash, edit, write, fetch, download and MCP calls, `permissions deny` hides tools and PreToolUse hooks can block calls. But `crush run` approves every permission request in its session automatically (internal/app/app.go in v0.99.0), `--yolo` skips all prompts, and there's no sandbox, only a refusal list for curl, wget, ssh, sudo, package managers and similar commands (7). No prompt-injection guidance found, and a project's `.crushrc` and `$(...)` in `crush.json` run as code at startup, which the README warns about (3). Logs in `./.crush/logs/crush.log` with `crush logs`, sessions in a local database readable as JSON, and `crush stats`, with no OpenTelemetry export (9). The organisation's SECURITY.md is a disclosure policy with a reporting address (vt100@charm.sh) and no response time. CI runs CodeQL, Grype and govulncheck nightly and releases are cosign-signed. OSV lists no advisory for the npm package or the Go module. No security.txt and no bug bounty. A disclosure route with no stated time is this run's 7 (was 10). 15 + 7 + 3 + 9 + 7 = 41.\n- T3 Code (35): Harness reading. Product usage events go by default to ingest.t3.codes and PostHog, with hashed identifiers for your T3 Connect, OpenAI and Claude accounts, and relay traces to Axiom, which can include machine names and error text. Off with T3CODE_TELEMETRY_ENABLED=false or a managed policy. Disclosed in docs/user/telemetry.md, not the README (10 of 30). Permission modes and managed policies (12 of 20). No prompt-injection guidance (5). No audit log (5). No security policy file found (3). 10 + 12 + 5 + 5 + 3 = 35.\n\n## Score by category\n\n| Category | Weight | Crush | T3 Code | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 52 | 43 | Crush +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 65 | 55 | Crush +10 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 60 | T3 Code +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 35 | Crush +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 55 | 60 | T3 Code +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 75 | Crush +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 51 | Crush +8 |\n| Negative events | ≤15 | -6 | 0 | |\n| **Total** | | **49.8 · D** | **51.9 · D** | |\n\n## Facts side by side\n\n| Fact | Crush | T3 Code |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Charm | T3 Tools Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | FSL-1.1-MIT (source-available, each release converts to MIT two years after it is made available) | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-29 | 2026-11-06 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Popularity | 29k stars, 5.6k npm/wk | none |\n| Agent reviews | 2.3/5 (4) | none |\n\n## How the scores have moved\n\n### Crush\n\n- -6.9 on 4 November 2026 (C to D): security, correction\n- +0.2 on 27 October 2026: new evidence\n\n### T3 Code\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Crush.** Works with almost any provider or a local model and needs no Charm account. `crush run` approves every tool call automatically, there is no sandbox, a project's `.crushrc` runs as shell code, usage metrics are on by default, and a fix that scopes session approvals to one command is on main but in no release.\n\n**T3 Code.** A fast-moving open-source way to run and steer several coding agents from desktop, browser or phone, using the subscriptions you already have. It's pre-1.0, and it sends usage data by default, including hashed identifiers for your OpenAI and Claude accounts, with the opt-out documented outside the README.\n\n## Before you call either\n\n### Crush\n\n1. Add `permissions deny` rules or a PreToolUse hook before `crush run`. It approves every permission request in its session, and a session approval in v0.99.0 covers later commands in the same directory\n2. Read `.crushrc`, `crushrc` and `crush.json` in a cloned repository before running Crush there. They execute as shell code at startup\n3. Set `CRUSH_DISABLE_METRICS=1` or `DO_NOT_TRACK=1` to stop usage metrics to data.charm.land\n4. Wrap `crush run` in your own timeout. It has no turn, time or cost limit flag\n5. Configure a provider by environment variable or `crushrc` first. With none, `crush run` exits with an error asking for interactive setup\n\n### T3 Code\n\n1. Set T3CODE_TELEMETRY_ENABLED=false before starting the server if you don't want usage events sent\n2. Install and log in to at least one provider CLI first, such as codex login or claude auth login\n3. Use a managed policy to fix settings across a team\n\n## Questions\n\n### Which is better for AI agents, Crush or T3 Code?\n\nT3 Code scores 51.9 (D) on agent readiness against Crush's 49.8 (D), and leads in 2 of 7 scored categories. Crush leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust.\n\n### Are Crush and T3 Code open source?\n\nNo open-source release is listed for Crush. T3 Code is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/crush-vs-t3-code.json, and with the fewest tokens: https://www.anchorterminal.com/compare/crush-vs-t3-code.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"crush\", \"b\": \"t3-code\"}`. From a terminal: `anchor compare crush t3-code`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/crush.json and https://www.anchorterminal.com/api/v1/tools/t3-code.json\n\n## Other comparisons with Crush or T3 Code\n\n- [Agent Zero vs Crush](https://www.anchorterminal.com/compare/agent-zero-vs-crush.md)\n- [Agent Zero vs T3 Code](https://www.anchorterminal.com/compare/agent-zero-vs-t3-code.md)\n- [Aider vs Crush](https://www.anchorterminal.com/compare/aider-vs-crush.md)\n- [Aider vs T3 Code](https://www.anchorterminal.com/compare/aider-vs-t3-code.md)\n- [Amp vs Crush](https://www.anchorterminal.com/compare/amp-vs-crush.md)\n- [Amp vs T3 Code](https://www.anchorterminal.com/compare/amp-vs-t3-code.md)\n- [Antigravity CLI vs Crush](https://www.anchorterminal.com/compare/antigravity-cli-vs-crush.md)\n- [Antigravity CLI vs T3 Code](https://www.anchorterminal.com/compare/antigravity-cli-vs-t3-code.md)\n- [Auggie CLI vs Crush](https://www.anchorterminal.com/compare/auggie-vs-crush.md)\n- [Auggie CLI vs T3 Code](https://www.anchorterminal.com/compare/auggie-vs-t3-code.md)\n- [AXLR vs Crush](https://www.anchorterminal.com/compare/axlr-vs-crush.md)\n- [AXLR vs T3 Code](https://www.anchorterminal.com/compare/axlr-vs-t3-code.md)\n- [Claude Code vs Crush](https://www.anchorterminal.com/compare/claude-code-vs-crush.md)\n- [Claude Code vs T3 Code](https://www.anchorterminal.com/compare/claude-code-vs-t3-code.md)\n- [Cline vs Crush](https://www.anchorterminal.com/compare/cline-vs-crush.md)\n- [Cline vs T3 Code](https://www.anchorterminal.com/compare/cline-vs-t3-code.md)\n- [Conductor vs Crush](https://www.anchorterminal.com/compare/conductor-vs-crush.md)\n- [Conductor vs T3 Code](https://www.anchorterminal.com/compare/conductor-vs-t3-code.md)\n- [Crush vs Cursor CLI](https://www.anchorterminal.com/compare/crush-vs-cursor-cli.md)\n- [Crush vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/crush-vs-deepseek-harness.md)\n- [Crush vs dsh-superagent (DeepSeek)](https://www.anchorterminal.com/compare/crush-vs-deepseek-superagent.md)\n- [Crush vs Devin](https://www.anchorterminal.com/compare/crush-vs-devin.md)\n- [Crush vs Droid CLI](https://www.anchorterminal.com/compare/crush-vs-droid-cli.md)\n- [Crush vs Pi](https://www.anchorterminal.com/compare/crush-vs-earendil-pi.md)\n- [Crush vs Emdash](https://www.anchorterminal.com/compare/crush-vs-emdash.md)\n- [Crush vs Gemini CLI](https://www.anchorterminal.com/compare/crush-vs-gemini-cli.md)\n- [Crush vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/crush-vs-github-copilot-cli.md)\n- [Crush vs goose](https://www.anchorterminal.com/compare/crush-vs-goose.md)\n- [Crush vs Harness²](https://www.anchorterminal.com/compare/crush-vs-harness2.md)\n- [Crush vs HarnessRouter](https://www.anchorterminal.com/compare/crush-vs-harnessrouter.md)\n- [Crush vs Jules](https://www.anchorterminal.com/compare/crush-vs-jules.md)\n- [Crush vs Junie CLI](https://www.anchorterminal.com/compare/crush-vs-junie.md)\n- [Crush vs Kilo Code CLI](https://www.anchorterminal.com/compare/crush-vs-kilo-code-cli.md)\n- [Crush vs Kimi Code CLI](https://www.anchorterminal.com/compare/crush-vs-kimi-code-cli.md)\n- [Crush vs Kiro CLI](https://www.anchorterminal.com/compare/crush-vs-kiro-cli.md)\n- [Crush vs Letta](https://www.anchorterminal.com/compare/crush-vs-letta.md)\n- [Crush vs mini-swe-agent](https://www.anchorterminal.com/compare/crush-vs-mini-swe-agent.md)\n- [Crush vs MiniMax Code](https://www.anchorterminal.com/compare/crush-vs-minimax-code.md)\n- [Crush vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/crush-vs-mistral-vibe-cli.md)\n- [Crush vs Muse Code](https://www.anchorterminal.com/compare/crush-vs-muse-code.md)\n- [Crush vs OpenAI Agents API](https://www.anchorterminal.com/compare/crush-vs-openai-agents-api.md)\n- [Crush vs OpenAI Codex](https://www.anchorterminal.com/compare/crush-vs-openai-codex.md)\n- [Crush vs OpenCode](https://www.anchorterminal.com/compare/crush-vs-opencode.md)\n- [Crush vs OpenHands](https://www.anchorterminal.com/compare/crush-vs-openhands.md)\n- [Crush vs OpenMausBot](https://www.anchorterminal.com/compare/crush-vs-openmausbot.md)\n- [Crush vs Orca](https://www.anchorterminal.com/compare/crush-vs-orca.md)\n- [Crush vs Paseo](https://www.anchorterminal.com/compare/crush-vs-paseo.md)\n- [Crush vs Prime Agent](https://www.anchorterminal.com/compare/crush-vs-prime-agent.md)\n- [Crush vs Qoder CLI](https://www.anchorterminal.com/compare/crush-vs-qoder-cli.md)\n- [Crush vs Qwen Code](https://www.anchorterminal.com/compare/crush-vs-qwen-code.md)\n- [Crush vs Mirror CLI](https://www.anchorterminal.com/compare/crush-vs-reflection-mirror.md)\n- [Crush vs Rovo Dev CLI](https://www.anchorterminal.com/compare/crush-vs-rovo-dev-cli.md)\n- [Crush vs Sculptor](https://www.anchorterminal.com/compare/crush-vs-sculptor.md)\n- [Crush vs Traycer](https://www.anchorterminal.com/compare/crush-vs-traycer.md)\n- [Crush vs Unstoppable](https://www.anchorterminal.com/compare/crush-vs-unstoppable.md)\n- [Crush vs Verdent](https://www.anchorterminal.com/compare/crush-vs-verdent.md)\n- [Crush vs Vibe-Trading](https://www.anchorterminal.com/compare/crush-vs-vibe-trading.md)\n- [Crush vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/crush-vs-warp.md)\n- [Cursor CLI vs T3 Code](https://www.anchorterminal.com/compare/cursor-cli-vs-t3-code.md)\n- [DeepSeek Harness (dsh) vs T3 Code](https://www.anchorterminal.com/compare/deepseek-harness-vs-t3-code.md)\n- [dsh-superagent (DeepSeek) vs T3 Code](https://www.anchorterminal.com/compare/deepseek-superagent-vs-t3-code.md)\n- [Devin vs T3 Code](https://www.anchorterminal.com/compare/devin-vs-t3-code.md)\n- [Droid CLI vs T3 Code](https://www.anchorterminal.com/compare/droid-cli-vs-t3-code.md)\n- [Pi vs T3 Code](https://www.anchorterminal.com/compare/earendil-pi-vs-t3-code.md)\n- [Emdash vs T3 Code](https://www.anchorterminal.com/compare/emdash-vs-t3-code.md)\n- [Gemini CLI vs T3 Code](https://www.anchorterminal.com/compare/gemini-cli-vs-t3-code.md)\n- [GitHub Copilot CLI vs T3 Code](https://www.anchorterminal.com/compare/github-copilot-cli-vs-t3-code.md)\n- [goose vs T3 Code](https://www.anchorterminal.com/compare/goose-vs-t3-code.md)\n- [Harness² vs T3 Code](https://www.anchorterminal.com/compare/harness2-vs-t3-code.md)\n- [HarnessRouter vs T3 Code](https://www.anchorterminal.com/compare/harnessrouter-vs-t3-code.md)\n- [Jules vs T3 Code](https://www.anchorterminal.com/compare/jules-vs-t3-code.md)\n- [Junie CLI vs T3 Code](https://www.anchorterminal.com/compare/junie-vs-t3-code.md)\n- [Kilo Code CLI vs T3 Code](https://www.anchorterminal.com/compare/kilo-code-cli-vs-t3-code.md)\n- [Kimi Code CLI vs T3 Code](https://www.anchorterminal.com/compare/kimi-code-cli-vs-t3-code.md)\n- [Kiro CLI vs T3 Code](https://www.anchorterminal.com/compare/kiro-cli-vs-t3-code.md)\n- [Letta vs T3 Code](https://www.anchorterminal.com/compare/letta-vs-t3-code.md)\n- [mini-swe-agent vs T3 Code](https://www.anchorterminal.com/compare/mini-swe-agent-vs-t3-code.md)\n- [MiniMax Code vs T3 Code](https://www.anchorterminal.com/compare/minimax-code-vs-t3-code.md)\n- [Mistral Vibe CLI vs T3 Code](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-t3-code.md)\n- [Muse Code vs T3 Code](https://www.anchorterminal.com/compare/muse-code-vs-t3-code.md)\n- [OpenAI Agents API vs T3 Code](https://www.anchorterminal.com/compare/openai-agents-api-vs-t3-code.md)\n- [OpenAI Codex vs T3 Code](https://www.anchorterminal.com/compare/openai-codex-vs-t3-code.md)\n- [OpenCode vs T3 Code](https://www.anchorterminal.com/compare/opencode-vs-t3-code.md)\n- [OpenHands vs T3 Code](https://www.anchorterminal.com/compare/openhands-vs-t3-code.md)\n- [Orca vs T3 Code](https://www.anchorterminal.com/compare/orca-vs-t3-code.md)\n- [Paseo vs T3 Code](https://www.anchorterminal.com/compare/paseo-vs-t3-code.md)\n- [Prime Agent vs T3 Code](https://www.anchorterminal.com/compare/prime-agent-vs-t3-code.md)\n- [Qoder CLI vs T3 Code](https://www.anchorterminal.com/compare/qoder-cli-vs-t3-code.md)\n- [Qwen Code vs T3 Code](https://www.anchorterminal.com/compare/qwen-code-vs-t3-code.md)\n- [Mirror CLI vs T3 Code](https://www.anchorterminal.com/compare/reflection-mirror-vs-t3-code.md)\n- [Rovo Dev CLI vs T3 Code](https://www.anchorterminal.com/compare/rovo-dev-cli-vs-t3-code.md)\n- [Sculptor vs T3 Code](https://www.anchorterminal.com/compare/sculptor-vs-t3-code.md)\n- [T3 Code vs Traycer](https://www.anchorterminal.com/compare/t3-code-vs-traycer.md)\n- [T3 Code vs Unstoppable](https://www.anchorterminal.com/compare/t3-code-vs-unstoppable.md)\n- [T3 Code vs Verdent](https://www.anchorterminal.com/compare/t3-code-vs-verdent.md)\n- [T3 Code vs Vibe-Trading](https://www.anchorterminal.com/compare/t3-code-vs-vibe-trading.md)\n- [T3 Code vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/t3-code-vs-warp.md)\n- [Clawboo vs Crush](https://www.anchorterminal.com/compare/clawboo-vs-crush.md)\n- [Clawboo vs T3 Code](https://www.anchorterminal.com/compare/clawboo-vs-t3-code.md)\n- [CLI Manager vs Crush](https://www.anchorterminal.com/compare/cli-manager-vs-crush.md)\n- [CLI Manager vs T3 Code](https://www.anchorterminal.com/compare/cli-manager-vs-t3-code.md)\n- [Crush vs Harness](https://www.anchorterminal.com/compare/crush-vs-harness-autonomous.md)\n- [Crush vs Paperclip](https://www.anchorterminal.com/compare/crush-vs-paperclip.md)\n- [Crush vs Parallax](https://www.anchorterminal.com/compare/crush-vs-parallax-agents.md)\n- [Harness vs T3 Code](https://www.anchorterminal.com/compare/harness-autonomous-vs-t3-code.md)\n- [OpenMausBot vs T3 Code](https://www.anchorterminal.com/compare/openmausbot-vs-t3-code.md)\n- [Paperclip vs T3 Code](https://www.anchorterminal.com/compare/paperclip-vs-t3-code.md)\n- [Parallax vs T3 Code](https://www.anchorterminal.com/compare/parallax-agents-vs-t3-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-07",
    "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": "Crush vs T3 Code",
        "url": ""
      }
    ],
    "description": "T3 Code scores 51.9 (D) to Crush's 49.8 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Crush D 49.8",
      "T3 Code D 51.9",
      "scores"
    ],
    "h1": "Crush vs T3 Code",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/crush-vs-t3-code",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Crush vs T3 Code for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/crush-vs-t3-code"
  },
  "tokens": {
    "markdown": 6200,
    "slim": 2630
  },
  "version": 1
}
