{
  "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": 1072,
        "ranked": true,
        "rankOf": 1486,
        "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": "Crush scores 49.8 (D) on agent readiness against Verdent's 39.7 (E), and leads in every scored category.",
    "b": {
      "slug": "verdent",
      "name": "Verdent",
      "vendor": "Verdent AI, Inc.",
      "vendorUrl": "https://www.verdent.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Verdent is a coding agent from Verdent AI, Inc., with a desktop app for macOS and Windows, VS Code and JetBrains extensions and a browser edition. It plans tasks, runs parallel workers in git worktrees and uses MCP servers.",
      "url": "https://www.anchorterminal.com/tools/verdent",
      "markdownUrl": "https://www.anchorterminal.com/tools/verdent.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/verdent.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/verdent.json",
      "dns": "verdent.grade.anchorterminal.com",
      "license": "Proprietary. The terms of use from Verdent AI, Inc. forbid reverse engineering or copying any component, and no source is published",
      "transports": [],
      "packages": [],
      "auth": "mixed",
      "authNotes": "A person signs in to a Verdent account with Google, GitHub or email in a browser. Model use runs on Verdent credits through llm-proxy.verdent.ai, or on the user's own Anthropic, OpenAI or OpenRouter key (BYOK). BYOA runs workers on a local Claude Code or Codex CLI with keys kept on the machine. No API key or token for driving Verdent from another program was found.",
      "pricing": "paid",
      "pricingNotes": "From $5 a month (Lite), then $19 Starter, $59 Pro and $179 Max with 320, 1,000 and 3,000 credits a month (doubled by a limited-time bonus). One credit is about $0.059 at provider rates. Top-ups $20 for 340 credits to $200 for 3,400. Free Mode and the free trial ended with v2.18.0 on 29 October 2026.",
      "priceSummary": "$5 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, pricing page, terms or changelog (checked 2026-11-06). Subscriptions and top-ups go through Stripe.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.verdent.ai/docs/verdent-manager/getting-started/overview",
      "capabilities": [
        "agent.harness",
        "agent.multi-agent",
        "agent.mcp-client"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "closed-source",
        "desktop",
        "vscode",
        "jetbrains",
        "mcp",
        "byok",
        "paid-plans",
        "no-sandbox"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 39.7,
        "grade": "E",
        "agentReady": false,
        "rank": 1317,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 53,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 35,
          "maintenance": 61,
          "payments": 20,
          "reliability": 43,
          "schema": 55,
          "security": 33,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-11-06. The changelog says v2.18.0 of 29 October 2026 retired Free Mode, the free trial and the 100 welcome credits, while the pricing page FAQ read on 6 November still says \"Your free trial includes 100 credits\" and the 1.0 docs overview still lists a free trial. A stale claim on the vendor's own pricing page, 2 points. https://www.verdent.ai/pricing, https://www.verdent.ai/changelog"
        ],
        "verdict": "A desktop and editor coding agent that splits a goal into parallel workers in git worktrees, with a read-only Plan Mode, MCP servers and the option to run workers on Claude Code or Codex. It has no CLI, API or sandbox, sends context through Verdent's servers, and has had no free tier since 29 October 2026.",
        "bestFor": "A person who wants a desktop app to plan and run several coding tasks at once, possibly on their own Claude Code or Codex.",
        "strengths": [
          "Plan Mode is read-only and writes a plan.md for review before Agent Mode makes changes",
          "Parallel workers each run in their own git worktree, with a review column before work is accepted",
          "BYOA runs workers on a local Claude Code or Codex CLI, and BYOK takes Anthropic, OpenAI or OpenRouter keys",
          "Plan, top-up and per-credit prices are public, charged at provider token rates with no markup per the pricing page",
          "Every current docs page has a Markdown twin, and the changelog is dated by version"
        ],
        "weaknesses": [
          "No CLI, print mode, API or SDK, so a pipeline can't start or read a run except through a paired chat bot",
          "No sandbox or network restriction documented, and the actions that need approval aren't listed",
          "Free Mode and the free trial ended on 29 October 2026, while the pricing page FAQ still promises 100 trial credits",
          "Event logging to log.verdent.ai has no documented opt-out, and the privacy policy gives no retention periods",
          "SOC 2 and ISO/IEC 42001 are being pursued, not held, and there is no bug bounty or security.txt"
        ],
        "agentNotes": [
          "Don't plan to drive Verdent headless. Hand the task to the person using the desktop app, or use a harness with a print mode",
          "Start large changes in Plan Mode and review plan.md before switching to Agent Mode",
          "Add MCP servers in the project's .mcp.json or ~/.verdent/mcp.json in the mcpServers shape",
          "Keep work under git, since rollback relies on git and there is no sandbox",
          "Budget in credits at about $0.059 each, because there is no free allowance since 29 October 2026"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 39.7
          }
        ],
        "editorialScores": {
          "ergonomics": 35,
          "maintenance": 61,
          "payments": 20,
          "reliability": 43,
          "schema": 55,
          "security": 33,
          "transparency": 47
        },
        "provenanceScore": 62,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "config": {
          "mcpServers": {
            "github": {
              "args": [
                "-y",
                "@modelcontextprotocol/server-github"
              ],
              "command": "npx",
              "env": {
                "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/verdent"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Lite plan",
          "unit": "month",
          "usd": 5,
          "note": "Eco Mode models and light usage"
        },
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 19,
          "note": "320 credits a month, 480 with the limited-time bonus"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 59,
          "note": "1,000 credits a month, 1,500 with the bonus"
        },
        {
          "item": "Max plan",
          "unit": "month",
          "usd": 179,
          "note": "3,000 credits a month, 4,500 with the bonus"
        },
        {
          "item": "Credit",
          "unit": "credit",
          "usd": 0.059,
          "note": "About $0.059, charged at provider token prices with no markup per the pricing page"
        }
      ],
      "provenance": {
        "legalEntity": "Verdent AI, Inc.",
        "domain": "verdent.ai",
        "domainRegistered": "2025-05-06",
        "endpointOnVendorDomain": true,
        "terms": "https://www.verdent.ai/terms",
        "privacy": "https://www.verdent.ai/privacy",
        "statusPage": "",
        "changelog": "https://www.verdent.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The privacy policy names Verdent AI, Inc. as data controller, and the terms choose California law.",
          "The terms forbid users to crawl, scrape or otherwise harvest data or information from the Services. Public pages were read once each.",
          "www.verdent.ai/robots.txt allows all crawlers.",
          "RDAP gives verdent.ai a registration date of 6 May 2025.",
          "/.well-known/security.txt returns 404, and status.verdent.ai did not answer. No status page found.",
          "The security page says SOC 2 and ISO/IEC 42001 are being pursued, not held, and takes vulnerability reports at hi@verdent.ai with acknowledgement within five business days."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/verdent.json",
      "live": {
        "slug": "verdent",
        "securityTxt": {
          "url": "https://verdent.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:33.272105482Z"
        },
        "pages": [
          {
            "url": "https://www.verdent.ai/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:36:28.662063151Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bac05e4e426e"
          },
          {
            "url": "https://www.verdent.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:36:31.354667853Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3ec1d3c07d70"
          },
          {
            "url": "https://www.verdent.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:36:33.295376926Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "206b6ec23a6a"
          }
        ],
        "updatedAt": "2026-11-07T15:59:33.272105482Z"
      }
    },
    "edges": [
      {
        "by": 35,
        "category": "payments",
        "leads": "crush",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No payment protocol (0). Scored on Charm's Hyper provider. Its public provider file at hyper.charm.land/v1/provider lists per-million-token figures for 22 models without a login, but no pricing page confirms them as billed rates, and plan prices sit in a script-rendered app (15). The CLI is free to use and runs with your own provider key or a local model, so nothing needs a card (20). A local model through Ollama, llama.cpp or LM Studio, or an existing provider key in the environment, works with no Charm account, so an agent can install it and run a task without a person signing up (20).",
          "b": "Harness reading of the published rubric, scored on the Verdent subscription the agent needs. No payment protocol (0). Plan prices from $5 a month, top-up prices and the credit value of about $0.059 are public without a login (20). Free Mode and the free trial ended on 29 October 2026, so there is no free tier (0). A person signs up in a browser (0). 0+20+0+0 = 20."
        },
        "scores": {
          "a": 55,
          "b": 20
        }
      },
      {
        "by": 21,
        "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": "Closed service. v2.18.0 on 29 October 2026, eight days before this check (30). More than three dated releases in the 90 days from 8 August, among them 2.10.0 to 2.18.0 (20). A dated public changelog, a support address, Discord and a subreddit, with no public tracker to read reply times (8). No official SDK or MCP server to keep current (0). No public packages or CI to judge (3). 30+20+8+0+3 = 61."
        },
        "scores": {
          "a": 82,
          "b": 61
        }
      },
      {
        "by": 17,
        "category": "ergonomics",
        "leads": "crush",
        "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. MCP servers per project or globally, subagents, skills and rules, but no per-tool disabling or deferred loading found (10). No output-size, turn-limit or budget controls for a run were found beyond credit balances (5). No exit codes or error format, since there is no headless mode (3). Parallel workers in git worktrees and a review column make runs reviewable and reversible, with no resume by ID documented (10). No CLI, API or SDK. A pipeline can only reach Manager through a paired Telegram, Slack or Feishu bot (7). 10+5+3+10+7 = 35."
        },
        "scores": {
          "a": 52,
          "b": 35
        }
      },
      {
        "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": "Framework reading for a harness. No schema for settings or output, only mcp.json examples in the standard mcpServers shape (5). Every current docs page has a Markdown twin at the same path with .md, though no llms.txt (10). The docs say when to use Agent Mode or Plan Mode and what Plan Mode can't do, but the Agent Mode page lists the actions that need approval only as \"certain tool executions\" and \"destructive operations\" (12). Modes and BYOA agent types are enumerated, permissions are not (5). Examples on the MCP, BYOA and messaging pages, and a recovery page, with no error codes (8). Version numbers and a dated public changelog (15). The archived 1.0 docs are still served beside the current ones. 5+10+12+5+8+15 = 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-package reading, as for the other closed-source harnesses. The desktop app installs from verdent.ai with macOS 11 or later and 64-bit Windows 10 and 11 stated, and the extension from the editor marketplaces, but not from a package registry (15). No public CI or test suite, since the source isn't published (0). No public issue tracker, every task runs through Verdent's servers, and no status page was found, so there is no readable record (5). A dated changelog by version, with the end of Free Mode called out in v2.18.0, but no breaking-change sections (8). 2.18.0, generally available (15). 15+0+5+8+15 = 43."
        },
        "scores": {
          "a": 52,
          "b": 43
        }
      },
      {
        "by": 8,
        "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": "Framework reading (telemetry defaults, approvals, guardrails, sandboxing). Conversation history and tool results go to Verdent's US servers and on to Azure, Bedrock or Vertex, with zero data retention stated for Vertex and Bedrock only. Event logging to log.verdent.ai has no documented opt-out. BYOA keys stay on the machine (10). Plan Mode is read-only, Agent Mode asks before destructive commands and edits outside scope, and workers are isolated by git worktree, but there is no sandbox or network control and the approval list isn't enumerated (9). No prompt-injection guidance found, while web search and fetch results enter the context (2). Usage history in the dashboard, no audit log found (5). A security page with a disclosure address and a five-day acknowledgement, SOC 2 and ISO/IEC 42001 being pursued rather than held, no security.txt and no bug bounty (7). 10+9+2+5+7 = 33."
        },
        "scores": {
          "a": 41,
          "b": 33
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Charm",
        "b": "Verdent AI, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "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": "Proprietary. The terms of use from Verdent AI, Inc. forbid reverse engineering or copying any component, and no source is published",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-05-25",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-05-26",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "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": "29k stars, 5.6k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Crush scores 49.8 (D) on agent readiness against Verdent's 39.7 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, Crush or Verdent?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 52 against 43",
          "Schema \u0026 documentation, 65 against 55",
          "Agent ergonomics, 52 against 35",
          "Security \u0026 auth, 41 against 33",
          "Payments \u0026 pricing, 55 against 20",
          "Maintenance \u0026 community, 82 against 61"
        ],
        "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": null,
        "also": null,
        "goodFor": "A person who wants a desktop app to plan and run several coding tasks at once, possibly on their own Claude Code or Codex.",
        "slug": "verdent",
        "watchFor": "No CLI, print mode, API or SDK, so a pipeline can't start or read a run except through a paired chat bot"
      }
    ],
    "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"
        }
      ],
      "verdent": 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-verdent.json",
        "title": "Agent Zero vs Verdent",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "Aider vs Verdent",
        "url": "https://www.anchorterminal.com/compare/aider-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "Amp vs Verdent",
        "url": "https://www.anchorterminal.com/compare/amp-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "Antigravity CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "Auggie CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "AXLR vs Verdent",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "Claude Code vs Verdent",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "Cline vs Verdent",
        "url": "https://www.anchorterminal.com/compare/cline-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "Conductor vs Verdent",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-verdent"
      },
      {
        "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-t3-code.json",
        "title": "Crush vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/crush-vs-t3-code"
      },
      {
        "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-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-verdent.json",
        "title": "Cursor CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-verdent.json",
        "title": "DeepSeek Harness (dsh) vs Verdent",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-verdent.json",
        "title": "dsh-superagent (DeepSeek) vs Verdent",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-verdent.json",
        "title": "Devin vs Verdent",
        "url": "https://www.anchorterminal.com/compare/devin-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-verdent.json",
        "title": "Droid CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-verdent.json",
        "title": "Pi vs Verdent",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-verdent.json",
        "title": "Emdash vs Verdent",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-verdent.json",
        "title": "Gemini CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-verdent.json",
        "title": "GitHub Copilot CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-verdent.json",
        "title": "goose vs Verdent",
        "url": "https://www.anchorterminal.com/compare/goose-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-verdent.json",
        "title": "Harness² vs Verdent",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-verdent.json",
        "title": "HarnessRouter vs Verdent",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-verdent.json",
        "title": "Jules vs Verdent",
        "url": "https://www.anchorterminal.com/compare/jules-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-verdent.json",
        "title": "Junie CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/junie-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-verdent.json",
        "title": "Kilo Code CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-verdent.json",
        "title": "Kimi Code CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-verdent.json",
        "title": "Kiro CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-verdent.json",
        "title": "Letta vs Verdent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-verdent.json",
        "title": "mini-swe-agent vs Verdent",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-verdent.json",
        "title": "MiniMax Code vs Verdent",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-verdent.json",
        "title": "Mistral Vibe CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-verdent.json",
        "title": "Muse Code vs Verdent",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-verdent.json",
        "title": "OpenAI Agents API vs Verdent",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-verdent.json",
        "title": "OpenAI Codex vs Verdent",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-verdent.json",
        "title": "OpenCode vs Verdent",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-verdent.json",
        "title": "OpenHands vs Verdent",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orca-vs-verdent.json",
        "title": "Orca vs Verdent",
        "url": "https://www.anchorterminal.com/compare/orca-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paseo-vs-verdent.json",
        "title": "Paseo vs Verdent",
        "url": "https://www.anchorterminal.com/compare/paseo-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-verdent.json",
        "title": "Prime Agent vs Verdent",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-verdent.json",
        "title": "Qoder CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-verdent.json",
        "title": "Qwen Code vs Verdent",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-verdent.json",
        "title": "Mirror CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-verdent.json",
        "title": "Rovo Dev CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sculptor-vs-verdent.json",
        "title": "Sculptor vs Verdent",
        "url": "https://www.anchorterminal.com/compare/sculptor-vs-verdent"
      },
      {
        "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/traycer-vs-verdent.json",
        "title": "Traycer vs Verdent",
        "url": "https://www.anchorterminal.com/compare/traycer-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/verdent-vs-vibe-trading.json",
        "title": "Verdent vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/verdent-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/verdent-vs-warp.json",
        "title": "Verdent vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/verdent-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-verdent.json",
        "title": "Clawboo vs Verdent",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "CLI Manager vs Verdent",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-verdent"
      },
      {
        "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-verdent.json",
        "title": "Harness vs Verdent",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-verdent.json",
        "title": "OpenMausBot vs Verdent",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-verdent.json",
        "title": "Paperclip vs Verdent",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-verdent.json",
        "title": "Parallax vs Verdent",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/unstoppable-vs-verdent.json",
        "title": "Unstoppable vs Verdent",
        "url": "https://www.anchorterminal.com/compare/unstoppable-vs-verdent"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 9,
        "crush": 52,
        "edge": "crush",
        "key": "reliability",
        "name": "Reliability",
        "verdent": 43,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "crush": 65,
        "edge": "crush",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "verdent": 55,
        "weight": 13
      },
      {
        "by": 17,
        "crush": 52,
        "edge": "crush",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "verdent": 35,
        "weight": 13
      },
      {
        "by": 8,
        "crush": 41,
        "edge": "crush",
        "key": "security",
        "name": "Security \u0026 auth",
        "verdent": 33,
        "weight": 14
      },
      {
        "by": 35,
        "crush": 55,
        "edge": "crush",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "verdent": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "crush": 82,
        "edge": "crush",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "verdent": 61,
        "weight": 7
      },
      {
        "by": 4,
        "crush": 59,
        "edge": "crush",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "verdent": 55,
        "weight": 7
      }
    ],
    "summary": "Crush scores 49.8 (D) on agent readiness against Verdent's 39.7 (E), and leads in every scored category. 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.",
      "verdent": "A desktop and editor coding agent that splits a goal into parallel workers in git worktrees, with a read-only Plan Mode, MCP servers and the option to run workers on Claude Code or Codex. It has no CLI, API or sandbox, sends context through Verdent's servers, and has had no free tier since 29 October 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/crush-vs-verdent",
    "json": "https://www.anchorterminal.com/compare/crush-vs-verdent.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/crush-vs-verdent.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/crush-vs-verdent.min.md"
  },
  "markdown": "Crush scores 49.8 (D) on agent readiness against Verdent's 39.7 (E), and leads in every scored category. Both do agent harnesses.\n\n- Crush: grade D, 49.8/100, rank #1072 of 1486. Markdown https://www.anchorterminal.com/tools/crush.md · JSON https://www.anchorterminal.com/api/v1/tools/crush.json\n- Verdent: grade E, 39.7/100, rank #1317 of 1486. Markdown https://www.anchorterminal.com/tools/verdent.md · JSON https://www.anchorterminal.com/api/v1/tools/verdent.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- Agent ergonomics, 52 against 35\n- Security \u0026 auth, 41 against 33\n- Payments \u0026 pricing, 55 against 20\n- Maintenance \u0026 community, 82 against 61\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### Verdent (E)\n\nGood for: A person who wants a desktop app to plan and run several coding tasks at once, possibly on their own Claude Code or Codex.\n\nWatch for: No CLI, print mode, API or SDK, so a pipeline can't start or read a run except through a paired chat bot\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Crush +35\n\n- Crush (55): No payment protocol (0). Scored on Charm's Hyper provider. Its public provider file at hyper.charm.land/v1/provider lists per-million-token figures for 22 models without a login, but no pricing page confirms them as billed rates, and plan prices sit in a script-rendered app (15). The CLI is free to use and runs with your own provider key or a local model, so nothing needs a card (20). A local model through Ollama, llama.cpp or LM Studio, or an existing provider key in the environment, works with no Charm account, so an agent can install it and run a task without a person signing up (20).\n- Verdent (20): Harness reading of the published rubric, scored on the Verdent subscription the agent needs. No payment protocol (0). Plan prices from $5 a month, top-up prices and the credit value of about $0.059 are public without a login (20). Free Mode and the free trial ended on 29 October 2026, so there is no free tier (0). A person signs up in a browser (0). 0+20+0+0 = 20.\n\n### Maintenance \u0026 community: Crush +21\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- Verdent (61): Closed service. v2.18.0 on 29 October 2026, eight days before this check (30). More than three dated releases in the 90 days from 8 August, among them 2.10.0 to 2.18.0 (20). A dated public changelog, a support address, Discord and a subreddit, with no public tracker to read reply times (8). No official SDK or MCP server to keep current (0). No public packages or CI to judge (3). 30+20+8+0+3 = 61.\n\n### Agent ergonomics: Crush +17\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- Verdent (35): Harness reading. MCP servers per project or globally, subagents, skills and rules, but no per-tool disabling or deferred loading found (10). No output-size, turn-limit or budget controls for a run were found beyond credit balances (5). No exit codes or error format, since there is no headless mode (3). Parallel workers in git worktrees and a review column make runs reviewable and reversible, with no resume by ID documented (10). No CLI, API or SDK. A pipeline can only reach Manager through a paired Telegram, Slack or Feishu bot (7). 10+5+3+10+7 = 35.\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- Verdent (55): Framework reading for a harness. No schema for settings or output, only mcp.json examples in the standard mcpServers shape (5). Every current docs page has a Markdown twin at the same path with .md, though no llms.txt (10). The docs say when to use Agent Mode or Plan Mode and what Plan Mode can't do, but the Agent Mode page lists the actions that need approval only as \"certain tool executions\" and \"destructive operations\" (12). Modes and BYOA agent types are enumerated, permissions are not (5). Examples on the MCP, BYOA and messaging pages, and a recovery page, with no error codes (8). Version numbers and a dated public changelog (15). The archived 1.0 docs are still served beside the current ones. 5+10+12+5+8+15 = 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- Verdent (43): Local-package reading, as for the other closed-source harnesses. The desktop app installs from verdent.ai with macOS 11 or later and 64-bit Windows 10 and 11 stated, and the extension from the editor marketplaces, but not from a package registry (15). No public CI or test suite, since the source isn't published (0). No public issue tracker, every task runs through Verdent's servers, and no status page was found, so there is no readable record (5). A dated changelog by version, with the end of Free Mode called out in v2.18.0, but no breaking-change sections (8). 2.18.0, generally available (15). 15+0+5+8+15 = 43.\n\n### Security \u0026 auth: Crush +8\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- Verdent (33): Framework reading (telemetry defaults, approvals, guardrails, sandboxing). Conversation history and tool results go to Verdent's US servers and on to Azure, Bedrock or Vertex, with zero data retention stated for Vertex and Bedrock only. Event logging to log.verdent.ai has no documented opt-out. BYOA keys stay on the machine (10). Plan Mode is read-only, Agent Mode asks before destructive commands and edits outside scope, and workers are isolated by git worktree, but there is no sandbox or network control and the approval list isn't enumerated (9). No prompt-injection guidance found, while web search and fetch results enter the context (2). Usage history in the dashboard, no audit log found (5). A security page with a disclosure address and a five-day acknowledgement, SOC 2 and ISO/IEC 42001 being pursued rather than held, no security.txt and no bug bounty (7). 10+9+2+5+7 = 33.\n\n## Score by category\n\n| Category | Weight | Crush | Verdent | 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 | 35 | Crush +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 33 | Crush +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 55 | 20 | Crush +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 61 | Crush +21 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 55 | Crush +4 |\n| Negative events | ≤15 | -6 | -2 | |\n| **Total** | | **49.8 · D** | **39.7 · E** | |\n\n## Facts side by side\n\n| Fact | Crush | Verdent |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Charm | Verdent AI, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | FSL-1.1-MIT (source-available, each release converts to MIT two years after it is made available) | Proprietary. The terms of use from Verdent AI, Inc. forbid reverse engineering or copying any component, and no source is published |\n| Read-only variant documented | no | yes |\n| llms.txt | no | no |\n| Last release | 2026-10-29 | 2026-10-29 |\n| Terms last updated | no document linked | 2026-05-25 |\n| Privacy policy last updated | no document linked | 2026-05-26 |\n| Customer content may train models | not read yet | yes |\n| Terms restrict automated access | not read yet | yes |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | yes |\n| Arbitration or class-action waiver | not read yet | not found in the text |\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### Verdent\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**Verdent.** A desktop and editor coding agent that splits a goal into parallel workers in git worktrees, with a read-only Plan Mode, MCP servers and the option to run workers on Claude Code or Codex. It has no CLI, API or sandbox, sends context through Verdent's servers, and has had no free tier since 29 October 2026.\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### Verdent\n\n1. Don't plan to drive Verdent headless. Hand the task to the person using the desktop app, or use a harness with a print mode\n2. Start large changes in Plan Mode and review plan.md before switching to Agent Mode\n3. Add MCP servers in the project's .mcp.json or ~/.verdent/mcp.json in the mcpServers shape\n4. Keep work under git, since rollback relies on git and there is no sandbox\n5. Budget in credits at about $0.059 each, because there is no free allowance since 29 October 2026\n\n## Questions\n\n### Which is better for AI agents, Crush or Verdent?\n\nCrush scores 49.8 (D) on agent readiness against Verdent's 39.7 (E), and leads in every scored category.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/crush-vs-verdent.json, and with the fewest tokens: https://www.anchorterminal.com/compare/crush-vs-verdent.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"crush\", \"b\": \"verdent\"}`. From a terminal: `anchor compare crush verdent`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/crush.json and https://www.anchorterminal.com/api/v1/tools/verdent.json\n\n## Other comparisons with Crush or Verdent\n\n- [Agent Zero vs Crush](https://www.anchorterminal.com/compare/agent-zero-vs-crush.md)\n- [Agent Zero vs Verdent](https://www.anchorterminal.com/compare/agent-zero-vs-verdent.md)\n- [Aider vs Crush](https://www.anchorterminal.com/compare/aider-vs-crush.md)\n- [Aider vs Verdent](https://www.anchorterminal.com/compare/aider-vs-verdent.md)\n- [Amp vs Crush](https://www.anchorterminal.com/compare/amp-vs-crush.md)\n- [Amp vs Verdent](https://www.anchorterminal.com/compare/amp-vs-verdent.md)\n- [Antigravity CLI vs Crush](https://www.anchorterminal.com/compare/antigravity-cli-vs-crush.md)\n- [Antigravity CLI vs Verdent](https://www.anchorterminal.com/compare/antigravity-cli-vs-verdent.md)\n- [Auggie CLI vs Crush](https://www.anchorterminal.com/compare/auggie-vs-crush.md)\n- [Auggie CLI vs Verdent](https://www.anchorterminal.com/compare/auggie-vs-verdent.md)\n- [AXLR vs Crush](https://www.anchorterminal.com/compare/axlr-vs-crush.md)\n- [AXLR vs Verdent](https://www.anchorterminal.com/compare/axlr-vs-verdent.md)\n- [Claude Code vs Crush](https://www.anchorterminal.com/compare/claude-code-vs-crush.md)\n- [Claude Code vs Verdent](https://www.anchorterminal.com/compare/claude-code-vs-verdent.md)\n- [Cline vs Crush](https://www.anchorterminal.com/compare/cline-vs-crush.md)\n- [Cline vs Verdent](https://www.anchorterminal.com/compare/cline-vs-verdent.md)\n- [Conductor vs Crush](https://www.anchorterminal.com/compare/conductor-vs-crush.md)\n- [Conductor vs Verdent](https://www.anchorterminal.com/compare/conductor-vs-verdent.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 T3 Code](https://www.anchorterminal.com/compare/crush-vs-t3-code.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 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 Verdent](https://www.anchorterminal.com/compare/cursor-cli-vs-verdent.md)\n- [DeepSeek Harness (dsh) vs Verdent](https://www.anchorterminal.com/compare/deepseek-harness-vs-verdent.md)\n- [dsh-superagent (DeepSeek) vs Verdent](https://www.anchorterminal.com/compare/deepseek-superagent-vs-verdent.md)\n- [Devin vs Verdent](https://www.anchorterminal.com/compare/devin-vs-verdent.md)\n- [Droid CLI vs Verdent](https://www.anchorterminal.com/compare/droid-cli-vs-verdent.md)\n- [Pi vs Verdent](https://www.anchorterminal.com/compare/earendil-pi-vs-verdent.md)\n- [Emdash vs Verdent](https://www.anchorterminal.com/compare/emdash-vs-verdent.md)\n- [Gemini CLI vs Verdent](https://www.anchorterminal.com/compare/gemini-cli-vs-verdent.md)\n- [GitHub Copilot CLI vs Verdent](https://www.anchorterminal.com/compare/github-copilot-cli-vs-verdent.md)\n- [goose vs Verdent](https://www.anchorterminal.com/compare/goose-vs-verdent.md)\n- [Harness² vs Verdent](https://www.anchorterminal.com/compare/harness2-vs-verdent.md)\n- [HarnessRouter vs Verdent](https://www.anchorterminal.com/compare/harnessrouter-vs-verdent.md)\n- [Jules vs Verdent](https://www.anchorterminal.com/compare/jules-vs-verdent.md)\n- [Junie CLI vs Verdent](https://www.anchorterminal.com/compare/junie-vs-verdent.md)\n- [Kilo Code CLI vs Verdent](https://www.anchorterminal.com/compare/kilo-code-cli-vs-verdent.md)\n- [Kimi Code CLI vs Verdent](https://www.anchorterminal.com/compare/kimi-code-cli-vs-verdent.md)\n- [Kiro CLI vs Verdent](https://www.anchorterminal.com/compare/kiro-cli-vs-verdent.md)\n- [Letta vs Verdent](https://www.anchorterminal.com/compare/letta-vs-verdent.md)\n- [mini-swe-agent vs Verdent](https://www.anchorterminal.com/compare/mini-swe-agent-vs-verdent.md)\n- [MiniMax Code vs Verdent](https://www.anchorterminal.com/compare/minimax-code-vs-verdent.md)\n- [Mistral Vibe CLI vs Verdent](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-verdent.md)\n- [Muse Code vs Verdent](https://www.anchorterminal.com/compare/muse-code-vs-verdent.md)\n- [OpenAI Agents API vs Verdent](https://www.anchorterminal.com/compare/openai-agents-api-vs-verdent.md)\n- [OpenAI Codex vs Verdent](https://www.anchorterminal.com/compare/openai-codex-vs-verdent.md)\n- [OpenCode vs Verdent](https://www.anchorterminal.com/compare/opencode-vs-verdent.md)\n- [OpenHands vs Verdent](https://www.anchorterminal.com/compare/openhands-vs-verdent.md)\n- [Orca vs Verdent](https://www.anchorterminal.com/compare/orca-vs-verdent.md)\n- [Paseo vs Verdent](https://www.anchorterminal.com/compare/paseo-vs-verdent.md)\n- [Prime Agent vs Verdent](https://www.anchorterminal.com/compare/prime-agent-vs-verdent.md)\n- [Qoder CLI vs Verdent](https://www.anchorterminal.com/compare/qoder-cli-vs-verdent.md)\n- [Qwen Code vs Verdent](https://www.anchorterminal.com/compare/qwen-code-vs-verdent.md)\n- [Mirror CLI vs Verdent](https://www.anchorterminal.com/compare/reflection-mirror-vs-verdent.md)\n- [Rovo Dev CLI vs Verdent](https://www.anchorterminal.com/compare/rovo-dev-cli-vs-verdent.md)\n- [Sculptor vs Verdent](https://www.anchorterminal.com/compare/sculptor-vs-verdent.md)\n- [T3 Code vs Verdent](https://www.anchorterminal.com/compare/t3-code-vs-verdent.md)\n- [Traycer vs Verdent](https://www.anchorterminal.com/compare/traycer-vs-verdent.md)\n- [Verdent vs Vibe-Trading](https://www.anchorterminal.com/compare/verdent-vs-vibe-trading.md)\n- [Verdent vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/verdent-vs-warp.md)\n- [Clawboo vs Crush](https://www.anchorterminal.com/compare/clawboo-vs-crush.md)\n- [Clawboo vs Verdent](https://www.anchorterminal.com/compare/clawboo-vs-verdent.md)\n- [CLI Manager vs Crush](https://www.anchorterminal.com/compare/cli-manager-vs-crush.md)\n- [CLI Manager vs Verdent](https://www.anchorterminal.com/compare/cli-manager-vs-verdent.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 Verdent](https://www.anchorterminal.com/compare/harness-autonomous-vs-verdent.md)\n- [OpenMausBot vs Verdent](https://www.anchorterminal.com/compare/openmausbot-vs-verdent.md)\n- [Paperclip vs Verdent](https://www.anchorterminal.com/compare/paperclip-vs-verdent.md)\n- [Parallax vs Verdent](https://www.anchorterminal.com/compare/parallax-agents-vs-verdent.md)\n- [Unstoppable vs Verdent](https://www.anchorterminal.com/compare/unstoppable-vs-verdent.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 Verdent",
        "url": ""
      }
    ],
    "description": "Crush scores 49.8 (D) to Verdent's 39.7 (E) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Crush D 49.8",
      "Verdent E 39.7",
      "scores"
    ],
    "h1": "Crush vs Verdent",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/crush-vs-verdent",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Crush vs Verdent for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/crush-vs-verdent"
  },
  "tokens": {
    "markdown": 6650,
    "slim": 3130
  },
  "version": 1
}
