{
  "data": {
    "a": {
      "slug": "bigarrow",
      "name": "Big Arrow",
      "vendor": "Franz Enzenhofer",
      "vendorUrl": "https://github.com/franzenzenhofer/big-arrow-on-the-screen",
      "kind": "sdk",
      "category": "human-in-the-loop",
      "summary": "bigarrow is an open-source macOS command-line tool, with a skill for Claude Code and Codex, that lets an agent draw a click-through arrow and a sign over any window to show a person where to click, type or decide.",
      "url": "https://www.anchorterminal.com/tools/bigarrow",
      "markdownUrl": "https://www.anchorterminal.com/tools/bigarrow.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bigarrow.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bigarrow.json",
      "repo": "https://github.com/franzenzenhofer/big-arrow-on-the-screen",
      "license": "MIT",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No account, key or network access. Drawing needs no macOS permission. Pointing at a UI element by label (`--element`, `elements`, `--until-click`, `--app App:title`) needs Accessibility, and `--window App:title` needs Screen Recording, both granted to the app that runs the shell (Terminal, Ghostty, VS Code), never to bigarrow itself.",
      "pricing": "free",
      "pricingNotes": "Free under MIT with nothing to buy. Installed from the author's Homebrew tap, which builds from source, or as an ad hoc signed universal binary from GitHub Releases.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source, the README or the skill (checked 2026-10-15). The tool has no paid tier and makes no network calls.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 747,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-15"
      },
      "docsUrl": "https://github.com/franzenzenhofer/big-arrow-on-the-screen#readme",
      "capabilities": [
        "hitl.handoff",
        "hitl.ask"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "mit",
        "macos",
        "swift",
        "cli",
        "agent-skill",
        "json-output",
        "pre-1.0",
        "new"
      ],
      "lastRelease": "2026-10-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 151,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 70,
          "payments": 60,
          "reliability": 75,
          "schema": 78,
          "security": 67,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-15"
        },
        "negative": 0,
        "verdict": "An agent can show a person which control to click, with a labelled arrow that needs no permission to draw, never takes focus and always removes itself. The tool is a week old at version 0.4.6, runs only on macOS, reports no answer beyond how an arrow ended, and has no security policy.",
        "bestFor": "An agent on a person's Mac that reaches a step only the person may do, such as a permission prompt, 2FA code or payment, and needs to show where.",
        "strengths": [
          "Drawing needs no macOS permission, and the overlay never takes keyboard focus, which integration tests on the real window server check",
          "Every arrow ends on a time limit, when its agent process exits, on `stop`, or on a click, so none outlives the session by default",
          "Exit codes 0, 2, 3 and 4 and `--json` on every command, and a target-not-found error lists what exists",
          "No network code, telemetry or account. The only dependency is Apple's swift-argument-parser",
          "105 test functions, and the last 25 CI runs on main passed as of 15 October 2026"
        ],
        "weaknesses": [
          "First commit 8 October 2026 and version 0.4.6, with flags removed or renamed between minor versions",
          "macOS 14 or later only. Windows and Linux exist only as third-party ports",
          "It shows where to act but does not collect an answer. The agent learns only how the arrow ended",
          "No SECURITY.md or disclosure route, and the release binary is signed ad hoc, not notarised",
          "Two outside issues opened on 12 and 13 October 2026 had no maintainer reply by 15 October"
        ],
        "agentNotes": [
          "Open the exact System Settings pane or URL first, then point at the one control left for the person",
          "Write the sign as a full sentence that names the action and, for approvals or payments, what the click does",
          "Pass `--app` or `--window` for any target inside an app, so it is raised and the arrow hides while covered",
          "On exit 4, run `bigarrow doctor` and ask the person to grant Accessibility to the app running your shell, not to bigarrow",
          "Call `bigarrow stop` once the step is done, and add `bigarrow stop --hook` as a Claude Code UserPromptSubmit hook"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.7
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 70,
          "payments": 60,
          "reliability": 75,
          "schema": 78,
          "security": 67,
          "transparency": 65
        },
        "provenanceScore": 53
      },
      "connect": {
        "install": "brew install franzenzenhofer/tap/bigarrow \u0026\u0026 bigarrow install-skill",
        "headless": {
          "check": "bigarrow doctor --json",
          "point": "bigarrow point --element \"Allow\" --app \"System Settings\" --text \"Franz, click Allow\" --json",
          "start": "bigarrow start --window \"Safari:Inbox\" --text \"This window\"",
          "stop": "bigarrow stop"
        }
      },
      "letme": {
        "capability": "https://letme.dev/hitl.handoff",
        "tool": "https://letme.dev/bigarrow"
      },
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "Franz Enzenhofer (individual, Vienna)",
        "domain": "",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/franzenzenhofer/big-arrow-on-the-screen/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-15",
        "notes": [
          "The project has no website. The licence reads Copyright (c) 2026 Franz Enzenhofer. His GitHub account (created 2010) gives Vienna and links fullstackoptimization.com, and commits come from addresses at that domain.",
          "15 of 161 commits are by Arthur Ficial, with an address at the same domain, the account behind the merged README and guide pull requests.",
          "No terms, privacy policy, SECURITY.md or security.txt. The README says the tool has no account and no telemetry.",
          "The software runs on the owner's Mac, so there is no vendor endpoint or status page to check."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bigarrow.json"
    },
    "answer": "Big Arrow scores 70.7 (BB) on agent readiness against Hatchet's 68.3 (B), and leads in 3 of 7 scored categories. Hatchet leads on schema \u0026 documentation, agent ergonomics, maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "hatchet",
      "name": "Hatchet",
      "vendor": "Hatchet Technologies, Inc.",
      "vendorUrl": "https://hatchet.run",
      "kind": "platform",
      "category": "human-in-the-loop",
      "summary": "Hatchet is an open-source (MIT) platform for durable tasks, queues and workflows, sold as Hatchet Cloud or self-hosted. A durable task can pause until an event arrives, which is its building block for human approval steps.",
      "url": "https://www.anchorterminal.com/tools/hatchet",
      "markdownUrl": "https://www.anchorterminal.com/tools/hatchet.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/hatchet.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/hatchet.json",
      "repo": "https://github.com/hatchet-dev/hatchet",
      "license": "MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://cloud.hatchet.run",
      "packages": [
        {
          "registry": "pypi",
          "name": "hatchet-sdk"
        },
        {
          "registry": "npm",
          "name": "@hatchet-dev/typescript-sdk"
        },
        {
          "registry": "go",
          "name": "github.com/hatchet-dev/hatchet"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve. A person signs up at cloud.hatchet.run and creates an API token in Settings, scoped to one tenant with a configurable expiry. SDK clients, workers and the REST API send it as a Bearer token. The MCP server reads tokens from CLI profiles the user granted. Embedded mode runs a local engine with no token.",
      "pricing": "freemium",
      "pricingNotes": "Hatchet Cloud is pay as you go from $0, and the plan without a card includes 1 million runs and 1 million events a month, capped at 2,000 of each a day, so an agent's owner can start without a contract. Beyond that, $30 per million runs and $5 per million events. Enterprise is priced by sales. Self-hosting is free under MIT (https://hatchet.run/pricing).",
      "priceSummary": "$0.03 / 1k calls",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the OpenAPI file or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 7,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.hatchet.run/v1/durable-event-waits",
      "llmsTxt": "https://docs.hatchet.run/llms.txt",
      "openapi": "https://github.com/hatchet-dev/hatchet/blob/main/api-contracts/openapi/openapi.yaml",
      "capabilities": [
        "hitl.approve",
        "hitl.ask",
        "agent.durable",
        "automation.workflows",
        "automation.code"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "open-source",
        "freemium",
        "free-tier",
        "mcp",
        "openapi",
        "llms-txt",
        "python",
        "typescript",
        "go",
        "durable",
        "webhooks",
        "idempotency",
        "hipaa"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.3,
        "grade": "B",
        "agentReady": false,
        "rank": 236,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 90,
          "payments": 40,
          "reliability": 66,
          "schema": 85,
          "security": 62,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -2,
        "negativeNotes": [
          "Published 4 September 2026, -2. GHSA-992g-9cr3-vm5x (CVE-2026-88978), Moderate, CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N. The `DurableTask` worker status path looked up durable event log entries by a caller-supplied task UUID with no tenant filter, so a holder of any tenant's token who knew another tenant's task UUID could read its entries. The advisory names Hatchet Cloud as affected and calls exploitation very unlikely because the IDs are random UUIDs. Fixed in 0.106.1. It is the event log this listing is graded on, so 2 points for a fixed path. https://github.com/hatchet-dev/hatchet/security/advisories/GHSA-992g-9cr3-vm5x (read through https://api.osv.dev/v1/vulns/GHSA-992g-9cr3-vm5x)",
          "Not deducted. GHSA-hf2m-86fv-rjw5, fixed in v0.110.5 on 5 October 2026, enforced payload visibility restrictions on endpoints that had returned payload data. The OSV mirror answered 404 for it, so its severity was not read. https://github.com/hatchet-dev/hatchet/blob/main/CHANGELOG.md"
        ],
        "verdict": "A durable task waits for a keyed event without holding a worker slot, and resumes from its event log after a restart, in Python, TypeScript, Go or Ruby. Hatchet supplies only the pause and resume. It has no approver inbox, notification channel or record of who answered, and its MCP server cannot push the event.",
        "bestFor": "It suits a team already running background jobs or agent loops on Hatchet that wants an approval pause inside the same durable task, in Python, TypeScript, Go or Ruby.",
        "strengths": [
          "A durable task waiting on an event is evicted from its worker slot and resumes from the durable event log after a restart or crash",
          "Events can be filtered with a CEL expression, and a scope with a lookback window catches an answer pushed before the wait began",
          "MIT licence, self-hostable, with SDKs for Python (1.41.1), TypeScript (1.36.0), Go and Ruby (0.9.0)",
          "Pay-as-you-go cloud plan starts at $0 without a card, with 1 million runs and 1 million events a month included, per the pricing page",
          "Platform release v0.110.19 on 8 October 2026, with dated changelogs for the platform and each SDK"
        ],
        "weaknesses": [
          "No approver inbox, Slack or email channel, routing or reminder. The owner builds the request and the way the answer is pushed",
          "An event wait has no timeout of its own. A deadline needs a sleep condition in the same or group",
          "API tokens are scoped to a tenant with an expiry, with no narrower scopes, and the role and payload restrictions do not apply to them",
          "Audit logs are for Business plans and above, kept 30 days, and the documented actions do not include event pushes",
          "The seven MCP tools trigger, inspect and replay runs. None pushes an event, and none sets a read-only or destructive annotation",
          "The standard terms the cloud agreement incorporates forbid security or vulnerability tests of the product. This matters before any probe is run"
        ],
        "agentNotes": [
          "Put the approval wait in a durable task, and keep API calls, database reads and random values in child tasks, because the code between checkpoints is replayed",
          "Add a sleep condition in the same or group as the event condition to set a deadline, and treat the sleep firing first as a timeout",
          "Give the event a scope and the wait a lookback window when the answer can arrive before the wait starts. Both must be set together",
          "Filter with a CEL expression such as `input.user_id == '1234'` so one approval key cannot resume another request's task",
          "Push the answer with the SDK's event push or `POST /api/v1/tenants/{tenant}/events`. The MCP server has no tool for it",
          "Grant the MCP server one profile with `hatchet mcp auth --grant \u003cprofile\u003e`. It refuses profiles that were not granted"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.3
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 90,
          "payments": 40,
          "reliability": 66,
          "schema": 85,
          "security": 62,
          "transparency": 69
        },
        "provenanceScore": 72
      },
      "connect": {
        "install": "pip install hatchet-sdk",
        "claudeCode": "hatchet mcp install --target claude-code",
        "config": {
          "mcpServers": {
            "hatchet": {
              "args": [
                "mcp",
                "serve"
              ],
              "command": "hatchet"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/hitl.approve",
        "tool": "https://letme.dev/hatchet"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Task runs after the first 1 million a month",
          "unit": "1k-calls",
          "usd": 0.03,
          "note": "$30 per million runs. A failed run is billed, retries are not"
        },
        {
          "item": "Events after the first 1 million a month",
          "unit": "1k-calls",
          "usd": 0.005,
          "note": "$5 per million events"
        },
        {
          "item": "Extra user beyond 50 (card on file)",
          "unit": "seat-month",
          "usd": 10
        }
      ],
      "provenance": {
        "legalEntity": "Hatchet Technologies, Inc.",
        "domain": "hatchet.run",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://hatchet.run/policies/terms",
        "privacy": "https://hatchet.run/policies/privacy",
        "statusPage": "https://status.hatchet.run",
        "changelog": "https://docs.hatchet.run/reference/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The terms page is a Common Paper Cloud Service Agreement cover page for Hatchet Technologies, Inc., last updated 17 July 2025, governed by Delaware law, incorporating Standard Terms Version 2.1 at commonpaper.com.",
          "The privacy policy was last updated 18 August 2026, covers workflow data and API usage data, and names an EU representative in Ireland.",
          "hatchet.run/.well-known/security.txt answered 404. SECURITY.md in the repository takes reports through private GitHub advisories or security@hatchet.run and says there is no bug bounty.",
          "The dashboard and API are at cloud.hatchet.run. The webhook docs show incoming webhook URLs on cloud.onhatchet.run, a second domain.",
          "status.hatchet.run runs on Better Stack with three components. Its robots.txt answered 200 with an empty body.",
          "The repository's licence file is MIT, copyright 2023 to present Hatchet Technologies Inc.",
          "The domain's registration date was not looked up."
        ],
        "score": 72
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/hatchet.json",
      "live": {
        "slug": "hatchet",
        "probe": {
          "target": "https://cloud.hatchet.run",
          "method": "get",
          "lastAt": "2026-10-15T11:29:55.757056217Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 672,
          "authRequired": false,
          "uptime24h": 99.61,
          "uptime30d": 99.93,
          "p50ms24h": 690,
          "p95ms24h": 830,
          "samples24h": 254,
          "samples30d": 1446,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 248
            },
            {
              "date": "2026-10-15",
              "probes": 123,
              "ok": 123
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.hatchet.run",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-15T10:06:18.649333322Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "hatchet-dev/hatchet",
            "version": "v0.110.5",
            "released": "2026-10-06",
            "seenAt": "2026-10-14T23:57:05.359005369Z"
          },
          {
            "registry": "npm",
            "name": "@hatchet-dev/typescript-sdk",
            "version": "1.38.0",
            "seenAt": "2026-10-14T23:57:04.494898327Z"
          },
          {
            "registry": "pypi",
            "name": "hatchet-sdk",
            "version": "1.42.1",
            "released": "2026-10-09",
            "seenAt": "2026-10-14T23:57:04.302900973Z"
          }
        ],
        "githubStars": 8118,
        "npmWeekly": 559584,
        "pypiWeekly": 421958,
        "securityTxt": {
          "url": "https://hatchet.run/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-14T15:47:30.744344538Z"
        },
        "llmsTxt": {
          "url": "https://docs.hatchet.run/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-14T14:14:15.612502936Z"
        },
        "domain": {
          "domain": "hatchet.run",
          "registered": "2022-11-15",
          "source": "https://rdap.identitydigital.services/rdap/domain/hatchet.run",
          "checkedAt": "2026-10-11T13:11:08.862478182Z"
        },
        "pages": [
          {
            "url": "https://docs.hatchet.run/reference/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-14T20:58:39.653322031Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f6e9eec278c6"
          },
          {
            "url": "https://hatchet.run/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-14T21:01:20.270313301Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3096d0aaa49f"
          },
          {
            "url": "https://hatchet.run/policies/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-14T21:01:16.137917325Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1926d0170834"
          },
          {
            "url": "https://hatchet.run/policies/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-14T21:01:18.294342062Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "22e8ffadb15d"
          }
        ],
        "updatedAt": "2026-10-15T11:29:55.757056217Z"
      }
    },
    "facts": [
      {
        "a": "SDK + MCP",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "Franz Enzenhofer",
        "b": "Hatchet Technologies, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://cloud.hatchet.run",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "7",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-12",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2025-07-17",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-08-18",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "747 stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Big Arrow scores 70.7 (BB) on agent readiness against Hatchet's 68.3 (B), and leads in 3 of 7 scored categories. Hatchet leads on schema \u0026 documentation, agent ergonomics, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Big Arrow or Hatchet?"
      },
      {
        "answer": "Yes. Big Arrow is open source (MIT). Hatchet is open source (MIT).",
        "question": "Are Big Arrow and Hatchet open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 66",
          "Security \u0026 auth, 67 against 62",
          "Payments \u0026 pricing, 60 against 40"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "No key needed to call it",
          "Free to start without a card"
        ],
        "goodFor": "An agent on a person's Mac that reaches a step only the person may do, such as a permission prompt, 2FA code or payment, and needs to show where.",
        "slug": "bigarrow",
        "watchFor": "First commit 8 October 2026 and version 0.4.6, with flags removed or renamed between minor versions"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 78",
          "Agent ergonomics, 82 against 77",
          "Maintenance \u0026 community, 90 against 70",
          "Transparency \u0026 trust, 71 against 59"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "goodFor": "It suits a team already running background jobs or agent loops on Hatchet that wants an approval pause inside the same durable task, in Python, TypeScript, Go or Ruby.",
        "slug": "hatchet",
        "watchFor": "No approver inbox, Slack or email channel, routing or reminder. The owner builds the request and the way the answer is pushed"
      }
    ],
    "job": {
      "capability": "hitl.ask",
      "name": "Hitl ask"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/gotohuman-vs-hatchet.json",
        "title": "gotoHuman vs Hatchet",
        "url": "https://www.anchorterminal.com/compare/gotohuman-vs-hatchet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hatchet-vs-inngest.json",
        "title": "Hatchet vs Inngest",
        "url": "https://www.anchorterminal.com/compare/hatchet-vs-inngest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hatchet-vs-orkes-conductor.json",
        "title": "Hatchet vs Orkes Conductor Human tasks",
        "url": "https://www.anchorterminal.com/compare/hatchet-vs-orkes-conductor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hatchet-vs-permit-mcp-gateway.json",
        "title": "Hatchet vs Permit MCP Gateway",
        "url": "https://www.anchorterminal.com/compare/hatchet-vs-permit-mcp-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hatchet-vs-pushary.json",
        "title": "Hatchet vs Pushary",
        "url": "https://www.anchorterminal.com/compare/hatchet-vs-pushary"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hatchet-vs-restate.json",
        "title": "Hatchet vs Restate",
        "url": "https://www.anchorterminal.com/compare/hatchet-vs-restate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hatchet-vs-temporal.json",
        "title": "Hatchet vs Temporal",
        "url": "https://www.anchorterminal.com/compare/hatchet-vs-temporal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hatchet-vs-trigger-dev.json",
        "title": "Hatchet vs Trigger.dev",
        "url": "https://www.anchorterminal.com/compare/hatchet-vs-trigger-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hatchet-vs-withhuman.json",
        "title": "Hatchet vs withHuman",
        "url": "https://www.anchorterminal.com/compare/hatchet-vs-withhuman"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigarrow-vs-gotohuman.json",
        "title": "Big Arrow vs gotoHuman",
        "url": "https://www.anchorterminal.com/compare/bigarrow-vs-gotohuman"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigarrow-vs-inngest.json",
        "title": "Big Arrow vs Inngest",
        "url": "https://www.anchorterminal.com/compare/bigarrow-vs-inngest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigarrow-vs-pushary.json",
        "title": "Big Arrow vs Pushary",
        "url": "https://www.anchorterminal.com/compare/bigarrow-vs-pushary"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigarrow-vs-restate.json",
        "title": "Big Arrow vs Restate",
        "url": "https://www.anchorterminal.com/compare/bigarrow-vs-restate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigarrow-vs-temporal.json",
        "title": "Big Arrow vs Temporal",
        "url": "https://www.anchorterminal.com/compare/bigarrow-vs-temporal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigarrow-vs-trigger-dev.json",
        "title": "Big Arrow vs Trigger.dev",
        "url": "https://www.anchorterminal.com/compare/bigarrow-vs-trigger-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bigarrow-vs-orkes-conductor.json",
        "title": "Big Arrow vs Orkes Conductor Human tasks",
        "url": "https://www.anchorterminal.com/compare/bigarrow-vs-orkes-conductor"
      }
    ],
    "scores": [
      {
        "bigarrow": 75,
        "by": 9,
        "edge": "bigarrow",
        "hatchet": 66,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bigarrow": 78,
        "by": 7,
        "edge": "hatchet",
        "hatchet": 85,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "bigarrow": 77,
        "by": 5,
        "edge": "hatchet",
        "hatchet": 82,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "bigarrow": 67,
        "by": 5,
        "edge": "bigarrow",
        "hatchet": 62,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "bigarrow": 60,
        "by": 20,
        "edge": "bigarrow",
        "hatchet": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bigarrow": 70,
        "by": 20,
        "edge": "hatchet",
        "hatchet": 90,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "bigarrow": 59,
        "by": 12,
        "edge": "hatchet",
        "hatchet": 71,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Big Arrow scores 70.7 (BB) on agent readiness against Hatchet's 68.3 (B), and leads in 3 of 7 scored categories. Hatchet leads on schema \u0026 documentation, agent ergonomics, maintenance \u0026 community and transparency \u0026 trust. Both do hitl ask.",
    "verdicts": {
      "bigarrow": "An agent can show a person which control to click, with a labelled arrow that needs no permission to draw, never takes focus and always removes itself. The tool is a week old at version 0.4.6, runs only on macOS, reports no answer beyond how an arrow ended, and has no security policy.",
      "hatchet": "A durable task waits for a keyed event without holding a worker slot, and resumes from its event log after a restart, in Python, TypeScript, Go or Ruby. Hatchet supplies only the pause and resume. It has no approver inbox, notification channel or record of who answered, and its MCP server cannot push the event."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bigarrow-vs-hatchet",
    "json": "https://www.anchorterminal.com/compare/bigarrow-vs-hatchet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bigarrow-vs-hatchet.md",
    "slim": "https://www.anchorterminal.com/compare/bigarrow-vs-hatchet.min.md"
  },
  "markdown": "Big Arrow scores 70.7 (BB) on agent readiness against Hatchet's 68.3 (B), and leads in 3 of 7 scored categories. Hatchet leads on schema \u0026 documentation, agent ergonomics, maintenance \u0026 community and transparency \u0026 trust. Both do hitl ask.\n\n- Big Arrow: grade BB, 70.7/100, rank #151 of 1094. Markdown https://www.anchorterminal.com/tools/bigarrow.md · JSON https://www.anchorterminal.com/api/v1/tools/bigarrow.json\n- Hatchet: grade B, 68.3/100, rank #236 of 1094. Markdown https://www.anchorterminal.com/tools/hatchet.md · JSON https://www.anchorterminal.com/api/v1/tools/hatchet.json\n- Best human approval and handoff for AI agents: https://www.anchorterminal.com/best/human-in-the-loop/index.md\n- All 53 human approval comparisons: https://www.anchorterminal.com/compare/human-in-the-loop/index.md\n\n## Which one, for what\n\n### Big Arrow (BB)\n\nGood for: An agent on a person's Mac that reaches a step only the person may do, such as a permission prompt, 2FA code or payment, and needs to show where.\n\nAhead on:\n- Reliability, 75 against 66\n- Security \u0026 auth, 67 against 62\n- Payments \u0026 pricing, 60 against 40\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- No key needed to call it\n- Free to start without a card\n\nWatch for: First commit 8 October 2026 and version 0.4.6, with flags removed or renamed between minor versions\n\n### Hatchet (B)\n\nGood for: It suits a team already running background jobs or agent loops on Hatchet that wants an approval pause inside the same durable task, in Python, TypeScript, Go or Ruby.\n\nAhead on:\n- Schema \u0026 documentation, 85 against 78\n- Agent ergonomics, 82 against 77\n- Maintenance \u0026 community, 90 against 70\n- Transparency \u0026 trust, 71 against 59\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: No approver inbox, Slack or email channel, routing or reminder. The owner builds the request and the way the answer is pushed\n\n\n## Score by category\n\n| Category | Weight | Big Arrow | Hatchet | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 66 | Big Arrow +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 78 | 85 | Hatchet +7 |\n| Agent ergonomics | 13% (16.2 this run) | 77 | 82 | Hatchet +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 62 | Big Arrow +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 40 | Big Arrow +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 90 | Hatchet +20 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 71 | Hatchet +12 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **70.7 · BB** | **68.3 · B** | |\n\n## Facts side by side\n\n| Fact | Big Arrow | Hatchet |\n| --- | --- | --- |\n| Kind | SDK + MCP | Platform |\n| Vendor | Franz Enzenhofer | Hatchet Technologies, Inc. |\n| Hosted endpoint | no (local only) | `https://cloud.hatchet.run` |\n| Transports |  | HTTP, stdio |\n| Auth | None | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Tools exposed | none | 7 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-12 | 2026-10-08 |\n| Terms last updated | no document linked | 2025-07-17 |\n| Privacy policy last updated | no document linked | 2026-08-18 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | not found in the text |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | 747 stars | none |\n\n## Verdicts\n\n**Big Arrow.** An agent can show a person which control to click, with a labelled arrow that needs no permission to draw, never takes focus and always removes itself. The tool is a week old at version 0.4.6, runs only on macOS, reports no answer beyond how an arrow ended, and has no security policy.\n\n**Hatchet.** A durable task waits for a keyed event without holding a worker slot, and resumes from its event log after a restart, in Python, TypeScript, Go or Ruby. Hatchet supplies only the pause and resume. It has no approver inbox, notification channel or record of who answered, and its MCP server cannot push the event.\n\n## Before you call either\n\n### Big Arrow\n\n1. Open the exact System Settings pane or URL first, then point at the one control left for the person\n2. Write the sign as a full sentence that names the action and, for approvals or payments, what the click does\n3. Pass `--app` or `--window` for any target inside an app, so it is raised and the arrow hides while covered\n4. On exit 4, run `bigarrow doctor` and ask the person to grant Accessibility to the app running your shell, not to bigarrow\n5. Call `bigarrow stop` once the step is done, and add `bigarrow stop --hook` as a Claude Code UserPromptSubmit hook\n\n### Hatchet\n\n1. Put the approval wait in a durable task, and keep API calls, database reads and random values in child tasks, because the code between checkpoints is replayed\n2. Add a sleep condition in the same or group as the event condition to set a deadline, and treat the sleep firing first as a timeout\n3. Give the event a scope and the wait a lookback window when the answer can arrive before the wait starts. Both must be set together\n4. Filter with a CEL expression such as `input.user_id == '1234'` so one approval key cannot resume another request's task\n5. Push the answer with the SDK's event push or `POST /api/v1/tenants/{tenant}/events`. The MCP server has no tool for it\n6. Grant the MCP server one profile with `hatchet mcp auth --grant \u003cprofile\u003e`. It refuses profiles that were not granted\n\n## Questions\n\n### Which is better for AI agents, Big Arrow or Hatchet?\n\nBig Arrow scores 70.7 (BB) on agent readiness against Hatchet's 68.3 (B), and leads in 3 of 7 scored categories. Hatchet leads on schema \u0026 documentation, agent ergonomics, maintenance \u0026 community and transparency \u0026 trust.\n\n### Are Big Arrow and Hatchet open source?\n\nYes. Big Arrow is open source (MIT). Hatchet is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bigarrow-vs-hatchet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bigarrow-vs-hatchet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bigarrow\", \"b\": \"hatchet\"}`. From a terminal: `anchor compare bigarrow hatchet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bigarrow.json and https://www.anchorterminal.com/api/v1/tools/hatchet.json\n\n## Other comparisons with Big Arrow or Hatchet\n\n- [gotoHuman vs Hatchet](https://www.anchorterminal.com/compare/gotohuman-vs-hatchet.md)\n- [Hatchet vs Inngest](https://www.anchorterminal.com/compare/hatchet-vs-inngest.md)\n- [Hatchet vs Orkes Conductor Human tasks](https://www.anchorterminal.com/compare/hatchet-vs-orkes-conductor.md)\n- [Hatchet vs Permit MCP Gateway](https://www.anchorterminal.com/compare/hatchet-vs-permit-mcp-gateway.md)\n- [Hatchet vs Pushary](https://www.anchorterminal.com/compare/hatchet-vs-pushary.md)\n- [Hatchet vs Restate](https://www.anchorterminal.com/compare/hatchet-vs-restate.md)\n- [Hatchet vs Temporal](https://www.anchorterminal.com/compare/hatchet-vs-temporal.md)\n- [Hatchet vs Trigger.dev](https://www.anchorterminal.com/compare/hatchet-vs-trigger-dev.md)\n- [Hatchet vs withHuman](https://www.anchorterminal.com/compare/hatchet-vs-withhuman.md)\n- [Big Arrow vs gotoHuman](https://www.anchorterminal.com/compare/bigarrow-vs-gotohuman.md)\n- [Big Arrow vs Inngest](https://www.anchorterminal.com/compare/bigarrow-vs-inngest.md)\n- [Big Arrow vs Pushary](https://www.anchorterminal.com/compare/bigarrow-vs-pushary.md)\n- [Big Arrow vs Restate](https://www.anchorterminal.com/compare/bigarrow-vs-restate.md)\n- [Big Arrow vs Temporal](https://www.anchorterminal.com/compare/bigarrow-vs-temporal.md)\n- [Big Arrow vs Trigger.dev](https://www.anchorterminal.com/compare/bigarrow-vs-trigger-dev.md)\n- [Big Arrow vs Orkes Conductor Human tasks](https://www.anchorterminal.com/compare/bigarrow-vs-orkes-conductor.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-15",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Big Arrow vs Hatchet",
        "url": ""
      }
    ],
    "description": "Big Arrow scores 70.7 (BB) to Hatchet's 68.3 (B) for hitl ask. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Big Arrow BB 70.7",
      "Hatchet B 68.3",
      "scores"
    ],
    "h1": "Big Arrow vs Hatchet",
    "image": "https://www.anchorterminal.com/assets/og/compare-bigarrow-vs-hatchet.png",
    "path": "/compare/bigarrow-vs-hatchet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Big Arrow vs Hatchet for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-15",
    "url": "https://www.anchorterminal.com/compare/bigarrow-vs-hatchet"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 730
  },
  "version": 1
}
