{
  "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": "Restate scores 73.3 (BB) on agent readiness against Big Arrow's 70.7 (BB), and leads in 4 of 7 scored categories. Big Arrow leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "restate",
      "name": "Restate",
      "vendor": "Restate GmbH",
      "vendorUrl": "https://restate.dev",
      "kind": "platform",
      "category": "human-in-the-loop",
      "summary": "Durable execution runtime from Restate GmbH in Berlin, run as Restate Cloud, in the customer's own cloud account or self-hosted. Handlers pause on durable promises (awakeables and signals) and resume when a person answers over HTTP.",
      "url": "https://www.anchorterminal.com/tools/restate",
      "markdownUrl": "https://www.anchorterminal.com/tools/restate.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/restate.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/restate.json",
      "repo": "https://github.com/restatedev/restate",
      "license": "BSL 1.1 converting to Apache-2.0 four years after release (server), MIT (SDKs)",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@restatedev/restate-sdk"
        },
        {
          "registry": "pypi",
          "name": "restate-sdk"
        },
        {
          "registry": "npm",
          "name": "@restatedev/restate-sdk-clients"
        }
      ],
      "auth": "api-key",
      "authNotes": "Restate Cloud takes an API key (`key_...`) as a Bearer token on each environment's ingress at `https://\u003cenv_id\u003e.env.\u003cregion\u003e.restate.cloud:8080` and its Admin API on port 9070. Keys are created self-serve in the Developers tab of the Cloud UI with a role (the docs show Full and Admin). Access is self-serve after a browser signup, with no review. A self-hosted server has no authentication on its ingress or admin ports, and the docs expect a reverse proxy in front (https://docs.restate.dev/cloud/getting-started, https://docs.restate.dev/server/security).",
      "pricing": "freemium",
      "pricingNotes": "Free $0 with 100,000 durable actions a month, 1 GB of storage and 1-day history, no card, so an agent's owner can start without a contract. Starter $75 a month with 5 million actions, Business $300 with 20 million, Premium $1,000 with 50 million, Enterprise on request. Extra actions cost $25 per million on Starter and Business and $15 on Premium. One action is an invocation, a completion, a step, a sleep, a call or an awakeable, counted per started 64 KiB. Self-hosting is free under BSL 1.1 (https://restate.dev/pricing).",
      "priceSummary": "$75 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or on the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4530,
        "npmWeekly": 329023,
        "pypiWeekly": 76080,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.restate.dev/ai/patterns/human-in-the-loop",
      "llmsTxt": "https://docs.restate.dev/llms.txt",
      "openapi": "https://docs.restate.dev/schemas/openapi-admin.json",
      "capabilities": [
        "hitl.approve",
        "hitl.ask",
        "agent.durable",
        "automation.workflows",
        "automation.code"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "source-available",
        "freemium",
        "free-tier",
        "no-card",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "java",
        "go",
        "rust",
        "status-page"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 94,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 81,
          "maintenance": 92,
          "payments": 40,
          "reliability": 91,
          "schema": 85,
          "security": 61,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "An awakeable pauses a handler at no compute cost and resumes it from one HTTP request, with a durable timeout, on a free plan of 100,000 actions a month. Restate sends nothing to the approver, so the Slack message, email or inbox is the builder's code, and the published terms and privacy statement predate the paid plans.",
        "bestFor": "A team that already writes agent steps as durable handlers and wants a long, cheap wait for a human answer in TypeScript, Python, Java, Go or Rust, with the option to self-host.",
        "strengths": [
          "One HTTP request resolves or rejects an awakeable, and the waiting handler resumes after restarts or redeployment",
          "`orTimeout` puts a durable timer on the wait, so the remaining time survives a crash",
          "Free plan of 100,000 actions a month with no card, and $25 per extra million actions on Starter and Business",
          "Cloud Environments shows 100 per cent on the status page for the 90 days to 8 October 2026",
          "MIT SDKs for TypeScript, Python, Java and Kotlin, Go and Rust, with llms.txt and Markdown copies of every docs page"
        ],
        "weaknesses": [
          "No reviewer inbox, Slack app or email. The approval request and the reply endpoint are the builder's code",
          "Signals can't be resolved over HTTP yet, only from another handler (open issue of 5 October 2026)",
          "Self-hosted ingress and admin ports have no authentication, so the awakeable ID alone resolves a wait there",
          "The terms say Restate Cloud is free of charge and the privacy statement of 23 February 2022 covers only the website",
          "Server under BSL 1.1, which isn't an OSI licence, with no security.txt or SECURITY.md found"
        ],
        "agentNotes": [
          "Create the awakeable, send its ID inside `ctx.run`, then await the promise, so a retry doesn't send a second approval request",
          "Resolve with `POST /restate/awakeables/\u003cid\u003e/resolve` and a JSON body, or `/reject` with a text reason, which throws a terminal error in the handler",
          "On Restate Cloud send `Authorization: Bearer key_...` to `https://\u003cenv_id\u003e.env.\u003cregion\u003e.restate.cloud:8080`. On a self-hosted server put an authenticating proxy in front of port 8080",
          "Wrap the wait in `orTimeout` and decide what a timeout means. Without it the handler waits with no limit",
          "Retry ingress errors only on 408, 425, 429 or 5xx, and only when `x-restate-error-source` isn't `invocation`"
        ],
        "metrics": {
          "kind": "remote",
          "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": 73.3
          }
        ],
        "editorialScores": {
          "ergonomics": 81,
          "maintenance": 92,
          "payments": 40,
          "reliability": 91,
          "schema": 85,
          "security": 61,
          "transparency": 46
        },
        "provenanceScore": 54
      },
      "connect": {
        "install": "npm install --global @restatedev/restate-server@latest @restatedev/restate@latest",
        "http": "curl localhost:8080/restate/awakeables/sign_1M28aqY6ZfuwBmRnmyP/resolve --json 'true'",
        "claudeCode": "claude mcp add --transport http restate-docs https://docs.restate.dev/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/hitl.approve",
        "tool": "https://letme.dev/restate"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 75,
          "note": "5 million actions, 50 actions a second, 5 GB, 3-day history"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 300,
          "note": "20 million actions, 200 actions a second, 20 GB, 7-day history"
        },
        {
          "item": "Premium plan",
          "unit": "month",
          "usd": 1000,
          "note": "50 million actions, 500 actions a second, 50 GB, 30-day history"
        },
        {
          "item": "Extra durable actions on Starter and Business",
          "unit": "1k-calls",
          "usd": 0.025,
          "note": "$25 per million actions, $15 per million on Premium"
        },
        {
          "item": "Extra virtual object storage",
          "unit": "gb-month",
          "usd": 0.5
        }
      ],
      "provenance": {
        "legalEntity": "Restate GmbH",
        "domain": "restate.dev",
        "domainRegistered": "2022-02-11",
        "endpointOnVendorDomain": false,
        "terms": "https://restate.dev/terms-and-conditions",
        "privacy": "",
        "statusPage": "https://status.restate.dev",
        "changelog": "https://docs.restate.dev/changelog/server",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The imprint names Restate GmbH, Knaackstr. 92, 10435 Berlin, Amtsgericht Charlottenburg HRB 240580 B. The server licence names Restate Software, Inc. and Restate GmbH as licensors.",
          "The general terms and conditions cover Restate Cloud by name, under German law with Berlin as the place of jurisdiction, and say its use is free of charge, which the pricing page no longer matches.",
          "No privacy field. The privacy statement at https://restate.dev/privacy is dated 23 February 2022 and covers the website, the newsletter and early code access, not customer data in Restate Cloud, and no other privacy policy was found.",
          "Restate Cloud environments answer at \u003cenv_id\u003e.env.\u003cregion\u003e.restate.cloud, a different domain from restate.dev.",
          "https://restate.dev/.well-known/security.txt returned 404 on 2026-10-08. The trust centre at trust.restate.dev is hosted by Vanta and didn't load in our reader.",
          "RDAP gives 2022-02-11 as the registration date of restate.dev."
        ],
        "score": 54
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/restate.json",
      "live": {
        "slug": "restate",
        "vendorStatus": {
          "page": "https://status.restate.dev",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-15T11:32:29.775198312Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "restatedev/restate",
            "version": "v1.8.0",
            "released": "2026-10-14",
            "seenAt": "2026-10-15T00:18:17.61828713Z"
          },
          {
            "registry": "npm",
            "name": "@restatedev/restate-sdk",
            "version": "1.17.3",
            "seenAt": "2026-10-15T00:18:15.396530855Z"
          },
          {
            "registry": "npm",
            "name": "@restatedev/restate-sdk-clients",
            "version": "1.17.3",
            "seenAt": "2026-10-15T00:18:16.683684054Z"
          },
          {
            "registry": "pypi",
            "name": "restate-sdk",
            "version": "1.0.5",
            "released": "2026-09-02",
            "seenAt": "2026-10-15T00:18:16.487632601Z"
          }
        ],
        "githubStars": 4559,
        "npmWeekly": 288651,
        "pypiWeekly": 95828,
        "securityTxt": {
          "url": "https://restate.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-14T15:46:51.151831268Z"
        },
        "llmsTxt": {
          "url": "https://docs.restate.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-14T14:14:58.931907103Z"
        },
        "domain": {
          "domain": "restate.dev",
          "registered": "2022-02-11",
          "source": "https://pubapi.registry.google/rdap/domain/restate.dev",
          "checkedAt": "2026-10-11T13:20:51.795888035Z"
        },
        "pages": [
          {
            "url": "https://docs.restate.dev/changelog/server",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-14T20:59:17.457494207Z",
            "changedAt": "2026-10-14T20:40:45.385989093Z",
            "fingerprint": "632904f7643e"
          },
          {
            "url": "https://restate.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-14T21:06:13.907605936Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6eb8d04dcfe6"
          },
          {
            "url": "https://restate.dev/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-14T21:06:16.068784385Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "32e2a89f3bf3"
          }
        ],
        "updatedAt": "2026-10-15T11:32:29.775198312Z"
      }
    },
    "facts": [
      {
        "a": "SDK + MCP",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "Franz Enzenhofer",
        "b": "Restate GmbH",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "BSL 1.1 converting to Apache-2.0 four years after release (server), MIT (SDKs)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-12",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "747 stars",
        "b": "4.5k stars, 329k npm/wk, 76k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Restate scores 73.3 (BB) on agent readiness against Big Arrow's 70.7 (BB), and leads in 4 of 7 scored categories. Big Arrow leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Big Arrow or Restate?"
      },
      {
        "answer": "Big Arrow is open source (MIT). No open-source release is listed for Restate.",
        "question": "Are Big Arrow and Restate open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 67 against 61",
          "Payments \u0026 pricing, 60 against 40",
          "Transparency \u0026 trust, 59 against 50"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "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": [
          "Reliability, 91 against 75",
          "Schema \u0026 documentation, 85 against 78",
          "Maintenance \u0026 community, 92 against 70"
        ],
        "also": null,
        "goodFor": "A team that already writes agent steps as durable handlers and wants a long, cheap wait for a human answer in TypeScript, Python, Java, Go or Rust, with the option to self-host.",
        "slug": "restate",
        "watchFor": "No reviewer inbox, Slack app or email. The approval request and the reply endpoint are the builder's code"
      }
    ],
    "job": {
      "capability": "hitl.ask",
      "name": "Hitl ask"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/gotohuman-vs-restate.json",
        "title": "gotoHuman vs Restate",
        "url": "https://www.anchorterminal.com/compare/gotohuman-vs-restate"
      },
      {
        "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/inngest-vs-restate.json",
        "title": "Inngest vs Restate",
        "url": "https://www.anchorterminal.com/compare/inngest-vs-restate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orkes-conductor-vs-restate.json",
        "title": "Orkes Conductor Human tasks vs Restate",
        "url": "https://www.anchorterminal.com/compare/orkes-conductor-vs-restate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-restate.json",
        "title": "Permit MCP Gateway vs Restate",
        "url": "https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-restate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pushary-vs-restate.json",
        "title": "Pushary vs Restate",
        "url": "https://www.anchorterminal.com/compare/pushary-vs-restate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/restate-vs-temporal.json",
        "title": "Restate vs Temporal",
        "url": "https://www.anchorterminal.com/compare/restate-vs-temporal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/restate-vs-trigger-dev.json",
        "title": "Restate vs Trigger.dev",
        "url": "https://www.anchorterminal.com/compare/restate-vs-trigger-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/restate-vs-withhuman.json",
        "title": "Restate vs withHuman",
        "url": "https://www.anchorterminal.com/compare/restate-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-hatchet.json",
        "title": "Big Arrow vs Hatchet",
        "url": "https://www.anchorterminal.com/compare/bigarrow-vs-hatchet"
      },
      {
        "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-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": 16,
        "edge": "restate",
        "key": "reliability",
        "name": "Reliability",
        "restate": 91,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bigarrow": 78,
        "by": 7,
        "edge": "restate",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "restate": 85,
        "weight": 13
      },
      {
        "bigarrow": 77,
        "by": 4,
        "edge": "restate",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "restate": 81,
        "weight": 13
      },
      {
        "bigarrow": 67,
        "by": 6,
        "edge": "bigarrow",
        "key": "security",
        "name": "Security \u0026 auth",
        "restate": 61,
        "weight": 14
      },
      {
        "bigarrow": 60,
        "by": 20,
        "edge": "bigarrow",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "restate": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bigarrow": 70,
        "by": 22,
        "edge": "restate",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "restate": 92,
        "weight": 7
      },
      {
        "bigarrow": 59,
        "by": 9,
        "edge": "bigarrow",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "restate": 50,
        "weight": 7
      }
    ],
    "summary": "Restate scores 73.3 (BB) on agent readiness against Big Arrow's 70.7 (BB), and leads in 4 of 7 scored categories. Big Arrow leads on security \u0026 auth, payments \u0026 pricing 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.",
      "restate": "An awakeable pauses a handler at no compute cost and resumes it from one HTTP request, with a durable timeout, on a free plan of 100,000 actions a month. Restate sends nothing to the approver, so the Slack message, email or inbox is the builder's code, and the published terms and privacy statement predate the paid plans."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bigarrow-vs-restate",
    "json": "https://www.anchorterminal.com/compare/bigarrow-vs-restate.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bigarrow-vs-restate.md",
    "slim": "https://www.anchorterminal.com/compare/bigarrow-vs-restate.min.md"
  },
  "markdown": "Restate scores 73.3 (BB) on agent readiness against Big Arrow's 70.7 (BB), and leads in 4 of 7 scored categories. Big Arrow leads on security \u0026 auth, payments \u0026 pricing 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- Restate: grade BB, 73.3/100, rank #94 of 1094. Markdown https://www.anchorterminal.com/tools/restate.md · JSON https://www.anchorterminal.com/api/v1/tools/restate.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- Security \u0026 auth, 67 against 61\n- Payments \u0026 pricing, 60 against 40\n- Transparency \u0026 trust, 59 against 50\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: First commit 8 October 2026 and version 0.4.6, with flags removed or renamed between minor versions\n\n### Restate (BB)\n\nGood for: A team that already writes agent steps as durable handlers and wants a long, cheap wait for a human answer in TypeScript, Python, Java, Go or Rust, with the option to self-host.\n\nAhead on:\n- Reliability, 91 against 75\n- Schema \u0026 documentation, 85 against 78\n- Maintenance \u0026 community, 92 against 70\n\nWatch for: No reviewer inbox, Slack app or email. The approval request and the reply endpoint are the builder's code\n\n\n## Score by category\n\n| Category | Weight | Big Arrow | Restate | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 91 | Restate +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 78 | 85 | Restate +7 |\n| Agent ergonomics | 13% (16.2 this run) | 77 | 81 | Restate +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 61 | Big Arrow +6 |\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 | 92 | Restate +22 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 50 | Big Arrow +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70.7 · BB** | **73.3 · BB** | |\n\n## Facts side by side\n\n| Fact | Big Arrow | Restate |\n| --- | --- | --- |\n| Kind | SDK + MCP | Platform |\n| Vendor | Franz Enzenhofer | Restate GmbH |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | BSL 1.1 converting to Apache-2.0 four years after release (server), MIT (SDKs) |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-12 | 2026-10-01 |\n| Terms last updated | no document linked | couldn't be read |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  | couldn't be read |\n| Terms restrict automated access |  | couldn't be read |\n| Terms restrict benchmarking |  | couldn't be read |\n| Terms or service can change without notice |  | couldn't be read |\n| Arbitration or class-action waiver |  | couldn't be read |\n| Popularity | 747 stars | 4.5k stars, 329k npm/wk, 76k PyPI/wk |\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**Restate.** An awakeable pauses a handler at no compute cost and resumes it from one HTTP request, with a durable timeout, on a free plan of 100,000 actions a month. Restate sends nothing to the approver, so the Slack message, email or inbox is the builder's code, and the published terms and privacy statement predate the paid plans.\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### Restate\n\n1. Create the awakeable, send its ID inside `ctx.run`, then await the promise, so a retry doesn't send a second approval request\n2. Resolve with `POST /restate/awakeables/\u003cid\u003e/resolve` and a JSON body, or `/reject` with a text reason, which throws a terminal error in the handler\n3. On Restate Cloud send `Authorization: Bearer key_...` to `https://\u003cenv_id\u003e.env.\u003cregion\u003e.restate.cloud:8080`. On a self-hosted server put an authenticating proxy in front of port 8080\n4. Wrap the wait in `orTimeout` and decide what a timeout means. Without it the handler waits with no limit\n5. Retry ingress errors only on 408, 425, 429 or 5xx, and only when `x-restate-error-source` isn't `invocation`\n\n## Questions\n\n### Which is better for AI agents, Big Arrow or Restate?\n\nRestate scores 73.3 (BB) on agent readiness against Big Arrow's 70.7 (BB), and leads in 4 of 7 scored categories. Big Arrow leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.\n\n### Are Big Arrow and Restate open source?\n\nBig Arrow is open source (MIT). No open-source release is listed for Restate.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bigarrow-vs-restate.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bigarrow-vs-restate.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bigarrow\", \"b\": \"restate\"}`. From a terminal: `anchor compare bigarrow restate`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bigarrow.json and https://www.anchorterminal.com/api/v1/tools/restate.json\n\n## Other comparisons with Big Arrow or Restate\n\n- [gotoHuman vs Restate](https://www.anchorterminal.com/compare/gotohuman-vs-restate.md)\n- [Hatchet vs Restate](https://www.anchorterminal.com/compare/hatchet-vs-restate.md)\n- [Inngest vs Restate](https://www.anchorterminal.com/compare/inngest-vs-restate.md)\n- [Orkes Conductor Human tasks vs Restate](https://www.anchorterminal.com/compare/orkes-conductor-vs-restate.md)\n- [Permit MCP Gateway vs Restate](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-restate.md)\n- [Pushary vs Restate](https://www.anchorterminal.com/compare/pushary-vs-restate.md)\n- [Restate vs Temporal](https://www.anchorterminal.com/compare/restate-vs-temporal.md)\n- [Restate vs Trigger.dev](https://www.anchorterminal.com/compare/restate-vs-trigger-dev.md)\n- [Restate vs withHuman](https://www.anchorterminal.com/compare/restate-vs-withhuman.md)\n- [Big Arrow vs gotoHuman](https://www.anchorterminal.com/compare/bigarrow-vs-gotohuman.md)\n- [Big Arrow vs Hatchet](https://www.anchorterminal.com/compare/bigarrow-vs-hatchet.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 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 Restate",
        "url": ""
      }
    ],
    "description": "Restate scores 73.3 (BB) to Big Arrow's 70.7 (BB) for hitl ask. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Big Arrow BB 70.7",
      "Restate BB 73.3",
      "scores"
    ],
    "h1": "Big Arrow vs Restate",
    "image": "https://www.anchorterminal.com/assets/og/compare-bigarrow-vs-restate.png",
    "path": "/compare/bigarrow-vs-restate",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Big Arrow vs Restate for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-15",
    "url": "https://www.anchorterminal.com/compare/bigarrow-vs-restate"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 680
  },
  "version": 1
}
