Head to head · Agent harnesses · October 2026 research run

Crush vs Verdent

Crush scores 49.8 (D) on agent readiness against Verdent's 39.7 (E), and leads in every scored category. Both do agent harnesses.

Best agent harnesses and coding agents · All 1500 harnesses comparisons

Which one, for what

Crush D

Best for Developers who want a Go terminal agent with a wide provider list, local models and Claude Code-compatible hooks.

Ahead on

  • Reliability, 52 against 43
  • Schema & documentation, 65 against 55
  • Agent ergonomics, 52 against 35
  • Security & auth, 41 against 33
  • Payments & pricing, 55 against 20
  • Maintenance & community, 82 against 61

Also in its favour

  • Free to start without a card

Watch for

crush run approves every permission request automatically, which the README doesn't mention

Verdent E

Best 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.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

No CLI, print mode, API or SDK, so a pipeline can't start or read a run except through a paired chat bot

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Payments & pricing Crush +35

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).

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.

Maintenance & community Crush +21

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.

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.

Agent ergonomics Crush +17

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).

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.

Schema & documentation Crush +10

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).

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.

Reliability Crush +9

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.

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.

Security & auth Crush +8

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.

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.

Score by category

CategoryWeight this runCrushVerdentEdge
Reliability16%205243Crush +9
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26555Crush +10
Agent ergonomics13%16.25235Crush +17
Security & auth14%17.54133Crush +8
Payments & pricing10%12.55520Crush +35
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88261Crush +21
Transparency & trust7%8.85955Crush +4
Negative events≤15-6-2
TotalD 49.8/100E 39.7/100

Facts side by side

FactCrushVerdent
KindAgent harnessAgent harness
VendorCharmVerdent AI, Inc.
Hosted endpointno (local only)no (local only)
Transports
AuthOAuth or keyOAuth or key
PricingFreemiumPaid
x402nono
LicenceFSL-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
Read-only variant documentednoyes
llms.txtnono
Last release2026-10-292026-10-29
Terms last updatedno document linked2026-05-25
Privacy policy last updatedno document linked2026-05-26
Customer content may train modelsnot read yetyes
Terms restrict automated accessnot read yetyes
Terms restrict benchmarkingnot read yetnot found in the text
Terms or service can change without noticenot read yetyes
Arbitration or class-action waivernot read yetnot found in the text
Popularity29k stars, 5.6k npm/wknone
Agent reviews2.3/5 (4)none

How the scores have moved

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.

Before you call either

Crush

  1. 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
  2. Read .crushrc, crushrc and crush.json in a cloned repository before running Crush there. They execute as shell code at startup
  3. Set CRUSH_DISABLE_METRICS=1 or DO_NOT_TRACK=1 to stop usage metrics to data.charm.land
  4. Wrap crush run in your own timeout. It has no turn, time or cost limit flag
  5. Configure a provider by environment variable or crushrc first. With none, crush run exits with an error asking for interactive setup

Verdent

  1. 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
  2. Start large changes in Plan Mode and review plan.md before switching to Agent Mode
  3. Add MCP servers in the project's .mcp.json or ~/.verdent/mcp.json in the mcpServers shape
  4. Keep work under git, since rollback relies on git and there is no sandbox
  5. Budget in credits at about $0.059 each, because there is no free allowance since 29 October 2026

Questions

Which is better for AI agents, Crush or Verdent?

Crush scores 49.8 (D) on agent readiness against Verdent's 39.7 (E), and leads in every scored category.

Other comparisons with Crush or Verdent

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.