{
  "data": {
    "a": {
      "slug": "trigger-dev",
      "name": "Trigger.dev",
      "vendor": "Trigger.dev",
      "vendorUrl": "https://trigger.dev",
      "kind": "platform",
      "category": "human-in-the-loop",
      "summary": "Open-source background jobs and durable tasks in TypeScript.",
      "url": "https://www.anchorterminal.com/tools/trigger-dev",
      "markdownUrl": "https://www.anchorterminal.com/tools/trigger-dev.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/trigger-dev.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/trigger-dev.json",
      "repo": "https://github.com/triggerdotdev/trigger.dev",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.trigger.dev",
      "packages": [
        {
          "registry": "npm",
          "name": "@trigger.dev/sdk"
        },
        {
          "registry": "npm",
          "name": "trigger.dev"
        }
      ],
      "auth": "mixed",
      "authNotes": "Server-side calls use the environment secret key as a Bearer token. `wait.createToken()` also returns a `publicAccessToken` scoped to that one waitpoint, which a browser can use to complete it (the completion endpoint has CORS). The `token.url` callback is for server-to-server use and has no CORS headers. The MCP server runs locally through the CLI and uses its login profiles (`whoami`, `switch_profile`).",
      "pricing": "freemium",
      "pricingNotes": "Free $0 with $5 of usage a month, 20 concurrent runs, 5 team members and 1-day log retention. Hobby $10 a month with $10 of usage, 50 concurrent runs and 7-day logs. Pro $50 a month with $50 of usage, 200+ concurrent runs ($10 a month per extra 50), 25+ seats ($20 each) and 30-day logs. Enterprise is custom, with a SOC 2 report, SSO and RBAC. Compute is billed per second by machine, from $0.0000169 (Micro) and $0.0000338 (Small 1x, the default) to $0.00068 (Large 2x), plus $0.000025 per run ($0.25 per 10,000). Dev runs aren't charged, and waits over 5 seconds aren't billed (https://trigger.dev/pricing, https://trigger.dev/docs/how-to-reduce-your-spend). Self-hosting is free under Apache-2.0.",
      "priceSummary": "Freemium",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 31,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://trigger.dev/docs/wait-for-token",
      "llmsTxt": "https://trigger.dev/docs/llms.txt",
      "openapi": "https://raw.githubusercontent.com/triggerdotdev/trigger.dev/main/docs/v3-openapi.yaml",
      "registryName": "io.github.triggerdotdev/trigger.dev",
      "capabilities": [
        "hitl.approve",
        "hitl.ask",
        "agent.durable",
        "automation.workflows",
        "automation.code"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "open-source",
        "freemium",
        "free-tier",
        "mcp",
        "openapi",
        "typescript",
        "webhooks"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 59,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 90,
          "payments": 40,
          "reliability": 75,
          "schema": 91,
          "security": 73,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Tokens complete from a backend, a pre-signed callback URL or the browser with a token scoped to one waitpoint. 10-minute default timeout on tokens.",
        "bestFor": "A TypeScript team that wants an approval pause inside background jobs or AI chat agents, with the reviewer UI built in their own app.",
        "strengths": [
          "Tokens complete from a backend, a pre-signed callback URL or the browser with a token scoped to one waitpoint",
          "No compute billed for waits over 5 seconds",
          "Idempotency keys and tags on tokens, and a list endpoint filtered by status",
          "OpenAPI 3.1 spec, llms.txt and a release on 2026-10-01",
          "Apache-2.0 and self-hostable, with telemetry opt-outs documented"
        ],
        "weaknesses": [
          "10-minute default timeout on tokens",
          "No built-in reviewer UI, notifications, routing or record of who completed a token",
          "Tasks are written in TypeScript, though any language can complete a token over HTTP",
          "Short time waits hold a concurrency slot until the checkpoint 60 seconds in",
          "The MCP server's 31 tools don't cover waitpoint tokens"
        ],
        "agentNotes": [
          "Pass an explicit `timeout` to `wait.createToken()` and handle `ok: false` as a timeout",
          "Use an idempotency key when creating the token so a retried step doesn't send the reviewer a second request",
          "Give the browser the `publicAccessToken`, never the secret key, and don't call `token.url` from client code",
          "Tag tokens with the user or task ID so pending approvals can be listed per reviewer",
          "Start the MCP server with `--readonly` when the agent only needs to inspect runs"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.6,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 74.7
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 90,
          "payments": 40,
          "reliability": 75,
          "schema": 91,
          "security": 73,
          "transparency": 73
        },
        "provenanceScore": 73
      },
      "connect": {
        "install": "npm install @trigger.dev/sdk",
        "http": "curl -X POST https://api.trigger.dev/api/v1/waitpoints/tokens -H \"Authorization: Bearer $TRIGGER_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"timeout\":\"24h\",\"tags\":[\"approval:refund-1042\"]}'",
        "claudeCode": "claude mcp add trigger -- npx trigger.dev@latest mcp",
        "config": {
          "mcpServers": {
            "trigger": {
              "args": [
                "trigger.dev@latest",
                "mcp"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/hitl.approve",
        "tool": "https://letme.dev/trigger-dev"
      },
      "alsoIn": [
        "workflow-automation"
      ],
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "API Hero Ltd",
        "domain": "trigger.dev",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://trigger.dev/legal",
        "privacy": "https://trigger.dev/legal/privacy",
        "statusPage": "https://status.trigger.dev",
        "changelog": "https://trigger.dev/changelog",
        "securityTxt": "unknown",
        "checked": "2026-10-01",
        "notes": [
          "status.trigger.dev runs on Better Stack, with global, per-region (us-east-1, eu-central-1, us-west-2) and SSO components.",
          "SECURITY.md takes reports through private GitHub advisories or security@trigger.dev.",
          "v4.7.0 was released on 2026-10-01 and v4.6.4 on 2026-09-22.",
          "The repository's server.json names io.github.triggerdotdev/trigger.dev at version 4.0.3. We couldn't query the registry.",
          "The privacy policy (updated 2025-12-23) names API Hero Ltd trading as Trigger.dev, Altrincham, United Kingdom, ICO registration ZB547039, and links a DPA at trigger.dev/legal/dpa. We couldn't read the live security.txt or RDAP on 2026-10-01."
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/trigger-dev.json",
      "live": {
        "slug": "trigger-dev",
        "probe": {
          "target": "https://api.trigger.dev",
          "method": "get",
          "lastAt": "2026-10-08T21:12:23.976511389Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 375,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 442,
          "p95ms24h": 539,
          "samples24h": 271,
          "samples30d": 1955,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 239,
              "ok": 239
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.trigger.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:16.952198172Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "triggerdotdev/trigger.dev",
            "version": "v4.7.3",
            "released": "2026-10-06",
            "seenAt": "2026-10-08T16:32:38.598636262Z"
          },
          {
            "registry": "npm",
            "name": "@trigger.dev/sdk",
            "version": "4.7.3",
            "seenAt": "2026-10-08T16:32:36.358697305Z"
          },
          {
            "registry": "npm",
            "name": "trigger.dev",
            "version": "4.7.3",
            "seenAt": "2026-10-08T16:32:37.170966806Z"
          }
        ],
        "githubStars": 16500,
        "npmWeekly": 1295956,
        "securityTxt": {
          "url": "https://trigger.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-09-01T00:00:00Z",
          "checkedAt": "2026-10-08T15:38:48.904996149Z"
        },
        "llmsTxt": {
          "url": "https://trigger.dev/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:57.04766674Z"
        },
        "domain": {
          "domain": "trigger.dev",
          "registered": "2022-12-01",
          "source": "https://pubapi.registry.google/rdap/domain/trigger.dev",
          "checkedAt": "2026-10-04T13:03:37.236967627Z"
        },
        "pages": [
          {
            "url": "https://trigger.dev/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:20.605972469Z",
            "changedAt": "2026-10-06T16:13:10.473425174Z",
            "fingerprint": "4fc9992475fd"
          },
          {
            "url": "https://trigger.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:26.922966404Z",
            "changedAt": "2026-10-08T18:25:26.922966404Z",
            "fingerprint": "f0b4001a53cf"
          },
          {
            "url": "https://trigger.dev/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:24.882285508Z",
            "changedAt": "2026-10-06T16:13:14.909606729Z",
            "fingerprint": "f115bf541adb"
          },
          {
            "url": "https://trigger.dev/legal",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:23.161588201Z",
            "changedAt": "2026-10-06T16:13:12.726736426Z",
            "fingerprint": "8bf66b37242e"
          }
        ],
        "updatedAt": "2026-10-08T21:12:23.976511389Z"
      }
    },
    "answer": "Trigger.dev scores 74.7 (BB) on agent readiness against withHuman's 51.8 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "withhuman",
      "name": "withHuman",
      "vendor": "Metoro Inc",
      "vendorUrl": "https://withhuman.ai",
      "kind": "http-api",
      "category": "human-in-the-loop",
      "summary": "withHuman is a hosted approval service for AI agents from Metoro Inc. It holds an agent's tool calls for a person to approve or deny through the Agent Approval Protocol API, coding-agent hooks, an MCP gateway and an MCP server.",
      "url": "https://www.anchorterminal.com/tools/withhuman",
      "markdownUrl": "https://www.anchorterminal.com/tools/withhuman.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/withhuman.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/withhuman.json",
      "license": "Proprietary hosted service under Metoro Inc's terms. The site describes an open-source edition, but the repository it links to returned 404 on 8 October 2026",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.withhuman.ai",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Five credentials, all sent as `Authorization: Bearer`. An agent credential (`whc_`) is bound to one agent instance and can only create approval requests and wait for decisions. A provisioner token (`whp_`) can only create and manage instances of its agent. A personal API key (`whk_`) follows its owner's permissions, can be narrowed to chosen actions and expires after 90 days by default. An organisation API key (`who_`, Scale plan and above) carries its own permission policies and cannot decide requests. The MCP server at `/api/mcp/v1` signs in with OAuth (authorisation code with PKCE and dynamic client registration) or takes an API key as a bearer token. A person signs up in the browser and connects the first agent.",
      "pricing": "freemium",
      "pricingNotes": "Free hosted plan at $0 for up to 5 members, with unlimited agents and approval requests, email, Slack and Discord, the audit log and the MCP gateway. Scale is $20 per user a month and adds the phone apps, organisation and scoped API keys, single sign-on and directory sync. Enterprise is a custom annual contract. New organisations start on a trial and move to Free without a subscription. Monthly allowances for gateway tool calls and phone messages exist but their numbers aren't on the pricing page (https://withhuman.ai/pricing, checked 2026-10-08).",
      "priceSummary": "$20 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI document or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://withhuman.ai/docs",
      "llmsTxt": "https://withhuman.ai/llms.txt",
      "openapi": "https://withhuman.ai/openapi.yaml",
      "capabilities": [
        "hitl.approve",
        "hitl.channels",
        "hitl.audit"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "enterprise",
        "early-access"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.8,
        "grade": "D",
        "agentReady": false,
        "rank": 573,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 49,
          "payments": 30,
          "reliability": 16,
          "schema": 81,
          "security": 73,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -2,
        "negativeNotes": [
          "8 October 2026. The home page and pricing page describe an open-source, self-hostable edition and link https://github.com/withHumanAI/withHuman, which returned 404. The withHumanAI organisation listed no public repositories and the protocol repository https://github.com/agentapprovalprotocol/agentapprovalprotocol also returned 404. Counted as a claim the public cannot verify today (-2). Sources https://withhuman.ai/pricing and https://github.com/withHumanAI"
        ],
        "verdict": "The approval API is small and carefully specified, with a public OpenAPI 3.1 document, mandatory idempotency keys and agent credentials that can never approve. The service is in early access under its own terms, with no status page, published rate limits or changelog, and the open-source repository the site links to returned 404 on 8 October 2026.",
        "bestFor": "Teams that want tool calls from coding agents or their own agents held for approval by rules, with escalation and an audit log, and no review UI to build.",
        "strengths": [
          "Public OpenAPI 3.1 document with 116 operations and 148 schemas, plus llms.txt and a Markdown copy of every docs page",
          "`Idempotency-Key` is required on request creation, instance creation and decisions, and a reused key with changed input answers 409",
          "An agent credential can only create requests and wait for decisions. Approving or denying needs a signed-in person or a personal key",
          "The MCP server signs in with OAuth, PKCE and dynamic client registration, across 35 scopes, with access lasting 90 days or until revoked",
          "Free hosted plan at $0 for up to 5 members with unlimited agents and approval requests, per the pricing page"
        ],
        "weaknesses": [
          "The terms say the service is in early access, and the API document is version 0.1.0",
          "No status page, published request rate limits, SLA outside an enterprise contract, or changelog found",
          "The GitHub repository the site links as its open-source edition returned 404 on 8 October 2026, and the organisation lists no public repositories",
          "No SDK found on npm or PyPI. Integration is the HTTP API, the CLI hooks or the MCP gateway",
          "The site footer says SOC 2 Type II with no report, auditor or trust page, and neither host serves a security.txt"
        ],
        "agentNotes": [
          "Send an `Idempotency-Key` header on `POST /api/aap/v1/requests`. The call answers 400 without one",
          "Read the decision with `GET /api/aap/v1/requests/{id}?wait=30s` and repeat while `status` is `pending`. `wait` is capped at 30 seconds",
          "Set `timeout` between one second and seven days, and treat `expired` and `cancelled` as a refusal",
          "Start an approved call within five minutes of `decided_at`, because the decision carries an `expires_at`",
          "Cancel a request when you stop waiting, so reviewers stop seeing it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51.8
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 49,
          "payments": 30,
          "reliability": 16,
          "schema": 81,
          "security": 73,
          "transparency": 52
        },
        "provenanceScore": 53
      },
      "connect": {
        "install": "curl -fsSL https://downloads.withhuman.ai/install.sh | sh -s -- onboard",
        "http": "curl -X POST \"https://app.withhuman.ai/api/aap/v1/requests\" \\\n  -H \"Authorization: Bearer $WITHHUMAN_TOKEN\" \\\n  -H \"Idempotency-Key: 4f1c9a2e-7b3d-4e8f-a1c5-2d6b8e0f9a31\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{ \"tool\": \"Bash\", \"arguments\": { \"command\": \"rm -rf build\" }, \"timeout\": \"30m\" }'",
        "claudeCode": "claude mcp add --transport http --scope user withhuman https://app.withhuman.ai/api/mcp/v1",
        "config": {
          "mcpServers": {
            "withhuman": {
              "url": "https://app.withhuman.ai/api/mcp/v1"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/hitl.approve",
        "tool": "https://letme.dev/withhuman"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Scale plan",
          "unit": "seat-month",
          "usd": 20,
          "note": "Free plan covers up to 5 members"
        }
      ],
      "provenance": {
        "legalEntity": "Metoro Inc",
        "domain": "withhuman.ai",
        "domainRegistered": "2026-07-13",
        "endpointOnVendorDomain": true,
        "terms": "https://withhuman.ai/terms",
        "privacy": "https://withhuman.ai/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms (effective 4 September 2026) are between the user and Metoro Inc, which operates withHuman, and cover the hosted service, the iPhone app and the website. Delaware law governs.",
          "The privacy policy (effective 4 September 2026) calls Metoro Inc a Delaware corporation and covers approval requests, decisions and audit records as well as the website.",
          "RDAP for withhuman.ai gives a registration date of 2026-07-13.",
          "https://withhuman.ai/.well-known/security.txt and https://app.withhuman.ai/.well-known/security.txt both returned 404 on 2026-10-08.",
          "No status page is linked from the site, the docs or the support page, and status.withhuman.ai did not connect. No changelog was found, and the blog says coming soon.",
          "The API and the MCP server answer at app.withhuman.ai, and the CLI downloads from downloads.withhuman.ai."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/withhuman.json",
      "live": {
        "slug": "withhuman",
        "probe": {
          "target": "https://app.withhuman.ai",
          "method": "get",
          "lastAt": "2026-10-08T21:12:25.989084443Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 184,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 168,
          "p95ms24h": 230,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "updatedAt": "2026-10-08T21:12:25.989084443Z"
      }
    },
    "facts": [
      {
        "a": "Model platform",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Trigger.dev",
        "b": "Metoro Inc",
        "name": "Vendor"
      },
      {
        "a": "https://api.trigger.dev",
        "b": "https://app.withhuman.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Proprietary hosted service under Metoro Inc's terms. The site describes an open-source edition, but the repository it links to returned 404 on 8 October 2026",
        "name": "Licence"
      },
      {
        "a": "31",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.triggerdotdev/trigger.dev",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-01",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "2026-06-29",
        "b": "2026-09-04",
        "name": "Terms last updated"
      },
      {
        "a": "2025-12-23",
        "b": "2026-09-04",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.6/5 (8)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Trigger.dev scores 74.7 (BB) on agent readiness against withHuman's 51.8 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Trigger.dev or withHuman?"
      },
      {
        "answer": "Yes. Trigger.dev has a hosted endpoint at https://api.trigger.dev and withHuman at https://app.withhuman.ai.",
        "question": "Can an agent call Trigger.dev and withHuman without installing anything?"
      },
      {
        "answer": "Trigger.dev is open source (Apache-2.0). No open-source release is listed for withHuman.",
        "question": "Are Trigger.dev and withHuman open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 16",
          "Schema \u0026 documentation, 91 against 81",
          "Agent ergonomics, 79 against 74",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 90 against 49",
          "Transparency \u0026 trust, 73 against 53"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "A TypeScript team that wants an approval pause inside background jobs or AI chat agents, with the reviewer UI built in their own app.",
        "slug": "trigger-dev",
        "watchFor": "10-minute default timeout on tokens"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Teams that want tool calls from coding agents or their own agents held for approval by rules, with escalation and an audit log, and no review UI to build.",
        "slug": "withhuman",
        "watchFor": "The terms say the service is in early access, and the API document is version 0.1.0"
      }
    ],
    "job": {
      "capability": "hitl.approve",
      "name": "Hitl approve"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev.json",
        "title": "gotoHuman vs Trigger.dev",
        "url": "https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gotohuman-vs-withhuman.json",
        "title": "gotoHuman vs withHuman",
        "url": "https://www.anchorterminal.com/compare/gotohuman-vs-withhuman"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inngest-vs-trigger-dev.json",
        "title": "Inngest vs Trigger.dev",
        "url": "https://www.anchorterminal.com/compare/inngest-vs-trigger-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inngest-vs-withhuman.json",
        "title": "Inngest vs withHuman",
        "url": "https://www.anchorterminal.com/compare/inngest-vs-withhuman"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orkes-conductor-vs-trigger-dev.json",
        "title": "Orkes Conductor Human tasks vs Trigger.dev",
        "url": "https://www.anchorterminal.com/compare/orkes-conductor-vs-trigger-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orkes-conductor-vs-withhuman.json",
        "title": "Orkes Conductor Human tasks vs withHuman",
        "url": "https://www.anchorterminal.com/compare/orkes-conductor-vs-withhuman"
      },
      {
        "json": "https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-trigger-dev.json",
        "title": "Permit MCP Gateway vs Trigger.dev",
        "url": "https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-trigger-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-withhuman.json",
        "title": "Permit MCP Gateway vs withHuman",
        "url": "https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-withhuman"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pushary-vs-trigger-dev.json",
        "title": "Pushary vs Trigger.dev",
        "url": "https://www.anchorterminal.com/compare/pushary-vs-trigger-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pushary-vs-withhuman.json",
        "title": "Pushary vs withHuman",
        "url": "https://www.anchorterminal.com/compare/pushary-vs-withhuman"
      },
      {
        "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/temporal-vs-trigger-dev.json",
        "title": "Temporal vs Trigger.dev",
        "url": "https://www.anchorterminal.com/compare/temporal-vs-trigger-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/temporal-vs-withhuman.json",
        "title": "Temporal vs withHuman",
        "url": "https://www.anchorterminal.com/compare/temporal-vs-withhuman"
      }
    ],
    "scores": [
      {
        "by": 59,
        "edge": "trigger-dev",
        "key": "reliability",
        "name": "Reliability",
        "trigger-dev": 75,
        "weight": 16,
        "withhuman": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "trigger-dev",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "trigger-dev": 91,
        "weight": 13,
        "withhuman": 81
      },
      {
        "by": 5,
        "edge": "trigger-dev",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "trigger-dev": 79,
        "weight": 13,
        "withhuman": 74
      },
      {
        "by": 0,
        "edge": "",
        "key": "security",
        "name": "Security \u0026 auth",
        "trigger-dev": 73,
        "weight": 14,
        "withhuman": 73
      },
      {
        "by": 10,
        "edge": "trigger-dev",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "trigger-dev": 40,
        "weight": 10,
        "withhuman": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 41,
        "edge": "trigger-dev",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "trigger-dev": 90,
        "weight": 7,
        "withhuman": 49
      },
      {
        "by": 20,
        "edge": "trigger-dev",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "trigger-dev": 73,
        "weight": 7,
        "withhuman": 53
      }
    ],
    "summary": "Trigger.dev scores 74.7 (BB) on agent readiness against withHuman's 51.8 (D), and leads in 6 of 7 scored categories. Both do hitl approve.",
    "verdicts": {
      "trigger-dev": "Tokens complete from a backend, a pre-signed callback URL or the browser with a token scoped to one waitpoint. 10-minute default timeout on tokens.",
      "withhuman": "The approval API is small and carefully specified, with a public OpenAPI 3.1 document, mandatory idempotency keys and agent credentials that can never approve. The service is in early access under its own terms, with no status page, published rate limits or changelog, and the open-source repository the site links to returned 404 on 8 October 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/trigger-dev-vs-withhuman",
    "json": "https://www.anchorterminal.com/compare/trigger-dev-vs-withhuman.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/trigger-dev-vs-withhuman.md",
    "slim": "https://www.anchorterminal.com/compare/trigger-dev-vs-withhuman.min.md"
  },
  "markdown": "Trigger.dev scores 74.7 (BB) on agent readiness against withHuman's 51.8 (D), and leads in 6 of 7 scored categories. Both do hitl approve.\n\n- Trigger.dev: grade BB, 74.7/100, rank #59 of 722. Markdown https://www.anchorterminal.com/tools/trigger-dev.md · JSON https://www.anchorterminal.com/api/v1/tools/trigger-dev.json\n- withHuman: grade D, 51.8/100, rank #573 of 722. Markdown https://www.anchorterminal.com/tools/withhuman.md · JSON https://www.anchorterminal.com/api/v1/tools/withhuman.json\n\n## Which one, for what\n\n### Trigger.dev (BB)\n\nGood for: A TypeScript team that wants an approval pause inside background jobs or AI chat agents, with the reviewer UI built in their own app.\n\nAhead on:\n- Reliability, 75 against 16\n- Schema \u0026 documentation, 91 against 81\n- Agent ergonomics, 79 against 74\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 90 against 49\n- Transparency \u0026 trust, 73 against 53\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n- Open source\n\nWatch for: 10-minute default timeout on tokens\n\n### withHuman (D)\n\nGood for: Teams that want tool calls from coding agents or their own agents held for approval by rules, with escalation and an audit log, and no review UI to build.\n\nWatch for: The terms say the service is in early access, and the API document is version 0.1.0\n\n\n## Score by category\n\n| Category | Weight | Trigger.dev | withHuman | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 16 | Trigger.dev +59 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 91 | 81 | Trigger.dev +10 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 74 | Trigger.dev +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 73 | 73 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Trigger.dev +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 90 | 49 | Trigger.dev +41 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 53 | Trigger.dev +20 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **74.7 · BB** | **51.8 · D** | |\n\n## Facts side by side\n\n| Fact | Trigger.dev | withHuman |\n| --- | --- | --- |\n| Kind | Model platform | HTTP API |\n| Vendor | Trigger.dev | Metoro Inc |\n| Hosted endpoint | `https://api.trigger.dev` | `https://app.withhuman.ai` |\n| Transports | HTTP, stdio | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Proprietary hosted service under Metoro Inc's terms. The site describes an open-source edition, but the repository it links to returned 404 on 8 October 2026 |\n| Tools exposed | 31 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.triggerdotdev/trigger.dev` | not listed |\n| Last release | 2026-10-01 | 2026-10-08 |\n| Terms last updated | 2026-06-29 | 2026-09-04 |\n| Privacy policy last updated | 2025-12-23 | 2026-09-04 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Agent reviews | 3.6/5 (8) | none |\n\n## Verdicts\n\n**Trigger.dev.** Tokens complete from a backend, a pre-signed callback URL or the browser with a token scoped to one waitpoint. 10-minute default timeout on tokens.\n\n**withHuman.** The approval API is small and carefully specified, with a public OpenAPI 3.1 document, mandatory idempotency keys and agent credentials that can never approve. The service is in early access under its own terms, with no status page, published rate limits or changelog, and the open-source repository the site links to returned 404 on 8 October 2026.\n\n## Before you call either\n\n### Trigger.dev\n\n1. Pass an explicit `timeout` to `wait.createToken()` and handle `ok: false` as a timeout\n2. Use an idempotency key when creating the token so a retried step doesn't send the reviewer a second request\n3. Give the browser the `publicAccessToken`, never the secret key, and don't call `token.url` from client code\n4. Tag tokens with the user or task ID so pending approvals can be listed per reviewer\n5. Start the MCP server with `--readonly` when the agent only needs to inspect runs\n\n### withHuman\n\n1. Send an `Idempotency-Key` header on `POST /api/aap/v1/requests`. The call answers 400 without one\n2. Read the decision with `GET /api/aap/v1/requests/{id}?wait=30s` and repeat while `status` is `pending`. `wait` is capped at 30 seconds\n3. Set `timeout` between one second and seven days, and treat `expired` and `cancelled` as a refusal\n4. Start an approved call within five minutes of `decided_at`, because the decision carries an `expires_at`\n5. Cancel a request when you stop waiting, so reviewers stop seeing it\n\n## Questions\n\n### Which is better for AI agents, Trigger.dev or withHuman?\n\nTrigger.dev scores 74.7 (BB) on agent readiness against withHuman's 51.8 (D), and leads in 6 of 7 scored categories.\n\n### Can an agent call Trigger.dev and withHuman without installing anything?\n\nYes. Trigger.dev has a hosted endpoint at https://api.trigger.dev and withHuman at https://app.withhuman.ai.\n\n### Are Trigger.dev and withHuman open source?\n\nTrigger.dev is open source (Apache-2.0). No open-source release is listed for withHuman.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/trigger-dev-vs-withhuman.json, and with the fewest tokens: https://www.anchorterminal.com/compare/trigger-dev-vs-withhuman.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"trigger-dev\", \"b\": \"withhuman\"}`. From a terminal: `anchor compare trigger-dev withhuman`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/trigger-dev.json and https://www.anchorterminal.com/api/v1/tools/withhuman.json\n\n## Other comparisons with Trigger.dev or withHuman\n\n- [gotoHuman vs Trigger.dev](https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev.md)\n- [gotoHuman vs withHuman](https://www.anchorterminal.com/compare/gotohuman-vs-withhuman.md)\n- [Inngest vs Trigger.dev](https://www.anchorterminal.com/compare/inngest-vs-trigger-dev.md)\n- [Inngest vs withHuman](https://www.anchorterminal.com/compare/inngest-vs-withhuman.md)\n- [Orkes Conductor Human tasks vs Trigger.dev](https://www.anchorterminal.com/compare/orkes-conductor-vs-trigger-dev.md)\n- [Orkes Conductor Human tasks vs withHuman](https://www.anchorterminal.com/compare/orkes-conductor-vs-withhuman.md)\n- [Permit MCP Gateway vs Trigger.dev](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-trigger-dev.md)\n- [Permit MCP Gateway vs withHuman](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-withhuman.md)\n- [Pushary vs Trigger.dev](https://www.anchorterminal.com/compare/pushary-vs-trigger-dev.md)\n- [Pushary vs withHuman](https://www.anchorterminal.com/compare/pushary-vs-withhuman.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- [Temporal vs Trigger.dev](https://www.anchorterminal.com/compare/temporal-vs-trigger-dev.md)\n- [Temporal vs withHuman](https://www.anchorterminal.com/compare/temporal-vs-withhuman.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "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"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Trigger.dev vs withHuman",
        "url": ""
      }
    ],
    "description": "Trigger.dev scores 74.7 (BB) on agent readiness against withHuman's 51.8 (D), and leads in 6 of 7 scored categories. Both do hitl approve. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Trigger.dev BB 74.7",
      "withHuman D 51.8",
      "scores"
    ],
    "h1": "Trigger.dev vs withHuman",
    "image": "https://www.anchorterminal.com/assets/og/compare-trigger-dev-vs-withhuman.png",
    "path": "/compare/trigger-dev-vs-withhuman",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Trigger.dev vs withHuman for AI agents, BB 74.7 vs D 51.8",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/trigger-dev-vs-withhuman"
  },
  "tokens": {
    "markdown": 2100,
    "slim": 630
  },
  "version": 1
}
