{
  "data": {
    "a": {
      "slug": "agent-tree",
      "name": "Agent Tree",
      "vendor": "Mike Pollow (Digitalroots)",
      "vendorUrl": "https://github.com/MikeGT4/agent-tree",
      "kind": "framework",
      "category": "agent-observability",
      "summary": "Agent Tree is an MIT-licensed Claude Code plugin that shows a session's sub-agents as a live tree in a terminal side pane, with context, cost and usage limits, and lets the person stop, message or re-model running sub-agents.",
      "url": "https://www.anchorterminal.com/tools/agent-tree",
      "markdownUrl": "https://www.anchorterminal.com/tools/agent-tree.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/agent-tree.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agent-tree.json",
      "dns": "agent-tree.grade.anchorterminal.com",
      "repo": "https://github.com/MikeGT4/agent-tree",
      "license": "MIT (Copyright (c) 2026 Mike Pollow, Digitalroots)",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No account, key or login of its own. It installs through Claude Code's plugin manager from the author's own marketplace (the GitHub repository) and runs inside Claude Code with that session's permissions.",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing to buy. Model usage stays on the person's Claude plan or API key; switching a sub-agent's model or effort in the pane changes what those calls cost.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "Local software with nothing to buy. No x402, MPP or L402 in the repository, read on 2026-11-01.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-01"
      },
      "docsUrl": "https://github.com/MikeGT4/agent-tree/blob/main/docs/GUIDE.md",
      "capabilities": [
        "obs.traces",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "mit",
        "local",
        "free",
        "typescript",
        "claude-code-plugin",
        "hooks",
        "pre-1.0",
        "not-for-agents"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.5,
        "grade": "D",
        "agentReady": false,
        "rank": 897,
        "ranked": true,
        "rankOf": 1260,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 60,
          "payments": 60,
          "reliability": 33,
          "schema": 50,
          "security": 49,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "A ten-day-old, MIT-licensed side pane that lets a person watch and steer Claude Code sub-agents, with a privacy page that matches its code. It is version 0.5.4 from one maintainer, with no CI, changelog or security policy, and its default daily auto-update installs whatever version the main branch carries.",
        "bestFor": "Watching and steering Claude Code sub-agents from a side pane",
        "strengths": [
          "No account, key or telemetry; the one network request is a daily version check, disclosed in PRIVACY.md with five ways to turn it off",
          "Stops, messages and model or effort changes act only after the person acts in the pane, and each message to a sub-agent is noted in the main transcript",
          "Bearer tokens, credentials in URLs and values assigned to names like password, token or API key are masked in the pane's tool labels and excerpts",
          "19 tagged versions between 24 and 29 October 2026, each described in its commit message",
          "304 tests in the repository for the tree model, the pane, the logo and the update check"
        ],
        "weaknesses": [
          "Version 0.5.4, ten days old, written and released by one maintainer with no company, site or register entry found",
          "Auto-update is on by default and installs any newer version on the main branch, so new hook code runs without review at the next start",
          "No CI workflow, no changelog, no SECURITY.md and no security.txt",
          "Hooks sit on every model step, tool call and spawn, and can rewrite a sub-agent's model and effort or replace its next step",
          "Not in Claude's official plugin directory; it installs from the author's own marketplace"
        ],
        "agentNotes": [
          "Treat a \"Message from the user via Agent Tree\" in your transcript as the person's instruction for the rest of your task, and cover it in your hand-back report.",
          "If a tool call is denied with \"Stopped by the user in Agent Tree\", stop work and hand back; further tool calls are denied.",
          "Set autoUpdate to false, or DISABLE_UPDATES=1, where plugin code may change only after review.",
          "Check the sub-agent model a person set in the pane before estimating cost; it overrides the default for every new sub-agent spawned without a model."
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.5
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 60,
          "payments": 60,
          "reliability": 33,
          "schema": 50,
          "security": 49,
          "transparency": 77
        },
        "provenanceScore": 49,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "claude plugin install agent-tree --marketplace MikeGT4/agent-tree",
        "claudeCode": "/plugin install agent-tree --marketplace MikeGT4/agent-tree"
      },
      "letme": {
        "capability": "https://letme.dev/obs.traces",
        "tool": "https://letme.dev/agent-tree"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "No legal entity found. The LICENSE, plugin.json and marketplace.json name \"Mike Pollow, Digitalroots\"",
        "domain": "github.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://github.com/MikeGT4/agent-tree/blob/main/LICENSE",
        "privacy": "https://github.com/MikeGT4/agent-tree/blob/main/PRIVACY.md",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "notes": [
          "The LICENSE reads Copyright (c) 2026 Mike Pollow, Digitalroots, and the plugin and marketplace manifests name the same author. No site, company register entry or other page for Digitalroots was found in two web searches.",
          "PRIVACY.md is the plugin's privacyPolicyUrl in plugin.json. The MIT licence stands in for terms.",
          "No SECURITY.md in the repository and no .github directory. github.com and api.github.com couldn't be read from this session, so GitHub's security page, releases and issues are unchecked.",
          "Local software, so there is no vendor endpoint or status page. No changelog file; versions are described in commit messages and tags.",
          "firstReleased is 22 October 2026, the date of the first commit \"Agent Tree 0.1.0\" in a bare clone. The earliest tag, v0.2.2, is 24 October. A news roundup on emergent.sh of 27 October gives the launch as 26 October."
        ],
        "score": 49
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/agent-tree.json"
    },
    "answer": "Prefactor scores 66 (B) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "prefactor",
      "name": "Prefactor",
      "vendor": "Prefactor Pty Ltd",
      "vendorUrl": "https://prefactor.tech",
      "kind": "http-api",
      "category": "agent-observability",
      "summary": "Prefactor is a hosted service that records AI agent runs as spans, classifies each run's data risk and stores quality evaluations. Agents and scripts reach it through an HTTP and WebSocket API, TypeScript and Python SDKs and a CLI.",
      "url": "https://www.anchorterminal.com/tools/prefactor",
      "markdownUrl": "https://www.anchorterminal.com/tools/prefactor.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/prefactor.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/prefactor.json",
      "dns": "prefactor.grade.anchorterminal.com",
      "repo": "https://github.com/prefactordev/typescript-sdk",
      "license": "Proprietary hosted service. The TypeScript and Python SDKs and the CLI are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.prefactorai.com/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@prefactor/core"
        },
        {
          "registry": "npm",
          "name": "@prefactor/cli"
        },
        {
          "registry": "pypi",
          "name": "prefactor-core"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve. A person signs in at app.prefactorai.com and creates an API token, sent as `Authorization: Bearer \u003ctoken\u003e`. Account tokens reach every agent in the account. Deployment tokens are bound to one agent in one environment. The OpenAPI document adds a `role` of `read_only` or `full_access` (the default) and an `expires_at` that defaults to two years. Tokens can be suspended, reactivated and revoked. `POST /api_token` mints tokens with an existing token.",
      "pricing": "freemium",
      "pricingNotes": "Free Dev plan with 5,000 spans a month, up to 3 agents and 7-day retention, no card required, so an agent's owner can start without a contract. Startup is $49 a month ($499 a year) with 15,000 spans, then $0.0025 a span. Scaleup is $199 a month ($2,000 a year) with 100,000 spans, then $2.50 per 1,000 spans monthly or $2.00 on the annual plan. Enterprise, from 4 million spans a month, is by quote. A span is one LLM call, tool call, message turn or custom step. Seats are unlimited on every plan (https://prefactor.tech/pricing).",
      "priceSummary": "$49 / 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": 3,
        "npmWeekly": 19,
        "pypiWeekly": 28,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.prefactor.ai",
      "llmsTxt": "https://docs.prefactor.ai/llms.txt",
      "openapi": "https://app.prefactorai.com/api/v1/openapi",
      "capabilities": [
        "obs.traces",
        "obs.evals"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "closed-source",
        "enterprise",
        "status-page"
      ],
      "lastRelease": "2026-09-13",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66,
        "grade": "B",
        "agentReady": false,
        "rank": 319,
        "ranked": true,
        "rankOf": 1260,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 88,
          "maintenance": 82,
          "payments": 40,
          "reliability": 78,
          "schema": 80,
          "security": 56,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-10-08. The pricing page lists 'Hold, approve or block in real time' and PII detection on every plan, and the security page lists manual approval workflows and fine-grained RBAC. The vendor's own docs say crossing a risk threshold does not block or terminate a run, that Prefactor does not detect sensitive data, and that accounts have no role-based permissions. The OpenAPI and OpenRPC documents have no approval operation. Counted as a misleading claim (-3). The docs may lag the product, since the API has hosted judge operations they do not describe (https://prefactor.tech/pricing, https://prefactor.tech/security, https://docs.prefactor.ai/llms-full.txt)."
        ],
        "verdict": "The public OpenAPI document lists 157 operations, each accepting an idempotency key, and tokens can be read-only or bound to one agent deployment. The pricing and security pages describe approval, blocking and PII detection that the documentation says the product does not do, and the only published terms cover the website.",
        "bestFor": "A team that wants an auditable record of agent runs with declared data-risk labels, quality payloads from its own evaluations and a remote stop signal.",
        "strengths": [
          "Public OpenAPI 3.0 document with 157 operations and an OpenRPC document with 159 WebSocket methods, both fetched without a login",
          "Every write accepts an `idempotency_key`, and `POST /bulk` can be retried whole because a reused key fails only its own item",
          "Tokens are scoped to the account or to one agent deployment, carry a `read_only` or `full_access` role and an expiry, and can be suspended or revoked",
          "A 429 response carries `Retry-After` and `retry_after_ms`, and both SDKs retry with exponential backoff and jitter",
          "The free Dev plan includes 5,000 spans a month with no card, and the overage price per span is published"
        ],
        "weaknesses": [
          "The pricing page lists hold, approve or block and PII detection on every plan, while the docs say a risk threshold blocks nothing and that Prefactor does not detect sensitive data",
          "No approval operation exists in the OpenAPI or OpenRPC documents. The documented control is a cooperative terminate signal the agent's own code must obey",
          "The published terms of service cover the website. No service agreement, DPA, sub-processor list or SLA text was found",
          "Rate limits are described by scope with no numbers",
          "No security.txt and no certification held. The security page says SOC 2 Type II is in progress"
        ],
        "agentNotes": [
          "Send requests to `https://app.prefactorai.com/api/v1` with `Authorization: Bearer \u003ctoken\u003e`. The API host is not on the `prefactor.tech` or `prefactor.ai` domains",
          "Ask for a deployment-scoped token, or an account token created with `role` set to `read_only`, since the default role is `full_access` with a two-year expiry",
          "Pass `redacted: true` on span list and detail queries, because the API returns marked sensitive values unless asked otherwise",
          "On 429 wait for `retry_after_ms`. Limits use one-minute windows and the SDKs' default retries ignore the server's hint",
          "Treat terminate as a request. Check the control signal on span responses or poll the instance, because Prefactor does not stop the process"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66
          }
        ],
        "editorialScores": {
          "ergonomics": 88,
          "maintenance": 82,
          "payments": 40,
          "reliability": 78,
          "schema": 80,
          "security": 56,
          "transparency": 34
        },
        "provenanceScore": 60,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-08",
            "maintenance": "2026-10-08",
            "payments": "2026-10-08",
            "reliability": "2026-10-08",
            "schema": "2026-10-08",
            "security": "2026-10-08",
            "transparency": "2026-10-08"
          },
          "last": "2026-10-08",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-08",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @prefactor/core",
        "http": "curl https://app.prefactorai.com/api/v1/agent \\\n  -H \"Authorization: Bearer $PREFACTOR_API_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/obs.traces",
        "tool": "https://letme.dev/prefactor"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 49,
          "note": "15,000 spans included, 3-month retention"
        },
        {
          "item": "Scaleup plan",
          "unit": "month",
          "usd": 199,
          "note": "100,000 spans included, 12-month retention"
        },
        {
          "item": "Span beyond the Startup allowance",
          "unit": "record",
          "usd": 0.0025
        },
        {
          "item": "Span beyond the Scaleup allowance",
          "unit": "record",
          "usd": 0.0025,
          "note": "$2.50 per 1,000 on monthly billing, $2.00 on annual"
        }
      ],
      "provenance": {
        "legalEntity": "Prefactor Pty Ltd",
        "domain": "prefactor.tech",
        "domainRegistered": "2024-10-16",
        "endpointOnVendorDomain": false,
        "terms": "",
        "privacy": "https://prefactor.tech/privacy-policy",
        "statusPage": "https://status.prefactor.ai",
        "changelog": "https://prefactor.tech/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "prefactor.tech/llms.txt names Prefactor Pty Ltd, founded 2024, headquartered in Australia. The legal documents name the same entity and New South Wales law.",
          "`terms` is left out. The only published terms (last updated 17 March 2026) govern use of the website at prefactor.tech and are a generated website template. No service agreement, API terms or DPA was found on the site or in its sitemap.",
          "The privacy policy and terms pages are drawn by script from GetTerms. We read them from the feed the pages load (gettermscdn.com) and could render only the regional sections of the privacy policy, not its main body.",
          "The API answers at app.prefactorai.com, a third domain of the vendor's registered on 18 December 2025. The site is on prefactor.tech and the docs on docs.prefactor.ai.",
          "RDAP gives prefactor.tech a registration date of 16 October 2024 and an expiry of 16 October 2026, eight days after this check.",
          "prefactor.tech, app.prefactorai.com and docs.prefactor.ai each return 404 for /.well-known/security.txt. The security page asks for reports by email and promises an acknowledgement within 24 hours.",
          "status.prefactor.ai is an UptimeRobot page. We found no link to it on the site or docs pages we read."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/prefactor.json",
      "live": {
        "slug": "prefactor",
        "probe": {
          "target": "https://app.prefactorai.com/api/v1",
          "method": "get",
          "lastAt": "2026-11-02T00:56:16.91446825Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 134,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 183,
          "p95ms24h": 391,
          "samples24h": 249,
          "samples30d": 6073,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "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": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 10,
              "ok": 10
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.prefactor.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-01T22:58:01.542797838Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "prefactordev/typescript-sdk",
            "version": "v0.6.1",
            "released": "2026-10-28",
            "seenAt": "2026-11-01T17:26:33.313442166Z"
          },
          {
            "registry": "npm",
            "name": "@prefactor/cli",
            "version": "0.6.1",
            "seenAt": "2026-11-01T17:26:27.168501179Z"
          },
          {
            "registry": "npm",
            "name": "@prefactor/core",
            "version": "1.2.0",
            "seenAt": "2026-11-01T17:26:26.27457401Z"
          },
          {
            "registry": "pypi",
            "name": "prefactor-core",
            "version": "0.5.3",
            "released": "2026-08-13",
            "seenAt": "2026-11-01T17:26:33.082396532Z"
          }
        ],
        "githubStars": 3,
        "npmWeekly": 165,
        "pypiWeekly": 46,
        "securityTxt": {
          "url": "https://prefactor.tech/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-01T15:43:05.651690927Z"
        },
        "llmsTxt": {
          "url": "https://docs.prefactor.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-01T15:14:46.732853026Z"
        },
        "domain": {
          "domain": "prefactor.tech",
          "registered": "2024-10-16",
          "source": "https://rdap.radix.host/rdap/domain/prefactor.tech",
          "checkedAt": "2026-11-01T14:10:26.237433022Z"
        },
        "pages": [
          {
            "url": "https://prefactor.tech/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-01T06:50:30.076251775Z",
            "changedAt": "2026-10-30T05:46:19.325533624Z",
            "fingerprint": "5c949fc4db5c"
          },
          {
            "url": "https://prefactor.tech/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-01T06:50:32.368657004Z",
            "changedAt": "2026-10-30T05:46:21.739376757Z",
            "fingerprint": "dc080231a0cf"
          },
          {
            "url": "https://prefactor.tech/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-01T06:50:34.374052129Z",
            "changedAt": "2026-10-30T05:46:23.568546852Z",
            "fingerprint": "9408fffd911c"
          }
        ],
        "github": {
          "repo": "prefactordev/typescript-sdk",
          "checkedAt": "2026-10-26T07:57:39.823760325Z",
          "stars": 3,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-23T06:12:58Z",
          "openIssues": 0,
          "openPRs": 3,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 21,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 42,
            "failure": 8,
            "other": 0,
            "latest": "failure",
            "latestAt": "2026-10-23T06:02:00Z"
          },
          "replies": {
            "sampled": 1,
            "unanswered": 0,
            "medianDays": 31.2
          }
        },
        "updatedAt": "2026-11-02T00:56:16.91446825Z"
      }
    },
    "edges": [
      {
        "by": 45,
        "category": "reliability",
        "leads": "prefactor",
        "name": "Reliability",
        "reasons": {
          "a": "Local-package reading, as for superpowers and tokeneconomizer. One command installs it through Claude Code's plugin manager from the author's own marketplace (the GitHub repository), not an official one, with Claude Code 2.1.292 or later stated and 2.1.316 tested (15 of 20). No .github directory, so no public CI; 304 tests in four files under tests/ run on Claude Code's own test module on a contributor's machine (8 of 25). Issues couldn't be read, as github.com was unreachable from this session (5 of 25, unchecked). 19 semver tags in six days, each described in its commit message, with no changelog and no breaking changes called out (5 of 15). Version 0.5.4 (0). 33 in all.",
          "b": "Graded as a hosted service. A public status page at status.prefactor.ai (UptimeRobot) with three monitors and 90 days of daily bars, though we found no link to it from the site or docs (20). All three monitors, the API host among them, show 100 per cent for the 90 days to 8 October 2026 and no status updates. These are plain HTTP checks, not per-endpoint probes (30). Rate limits are described by scope and window with no numbers (3 of 15). 429 carries `Retry-After` and `retry_after_ms`, both SDKs retry with backoff and jitter, and every operation takes an idempotency key (15). The pricing page lists an SLA on Enterprise with no text published (0). The API is version 1.0 and `@prefactor/core` is 1.2.0, with no beta label (10)."
        },
        "scores": {
          "a": 33,
          "b": 78
        }
      },
      {
        "by": 30,
        "category": "schema",
        "leads": "prefactor",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Framework reading, docs a model can follow, as superpowers was read. types/index.d.ts types the pane's state, and plugin.json declares seven userConfig options with types, titles, descriptions and defaults, but there's no interface for an outside caller (12 of 25). README in English and German, a nine-step GUIDE.md and PRIVACY.md, all Markdown in the repository; no llms.txt (10). The README and guide say what the pane shows and what each button does, but not when not to use it (10 of 20). Options are typed, with an enum for the language; the /agent-tree command takes stop, clear, intro and `to \u003cid\u003e \u003ctext\u003e` (8 of 15). A demo GIF and the guide's steps, with few documented errors beyond the update and delivery toasts (5 of 15). Semver tags but no changelog or release notes read (5 of 15). 50 in all.",
          "b": "A public OpenAPI 3.0.0 document with 157 operations and an OpenRPC document with 159 WebSocket methods. Body parameters are declared `in: body`, which OpenAPI 3 does not define, so some generators will need adjusting (23 of 25). llms.txt with abridged and full versions of the docs (10). Operations carry one-line summaries and only 4 of 157 have a description. The concept pages are clearer and say what the product does not do (10 of 20). Named ID schemas, enums and bounds such as `page_size` 1 to 100, but span payloads are free-form by design and `start_time` and `end_time` have no schema (11 of 15). A table of 12 error codes, an error union in the spec, curl examples and a runnable WebSocket script (13 of 15). The path is versioned `/api/v1`, the SDKs keep semver changelogs, and the site changelog has 35 dated entries, the latest on 27 July 2026 (13 of 15)."
        },
        "scores": {
          "a": 50,
          "b": 80
        }
      },
      {
        "by": 22,
        "category": "maintenance",
        "leads": "prefactor",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v0.5.4 tagged on 29 October 2026 and a commit on 31 October (30). 19 tags from v0.2.2 (24 October) to v0.5.4 (29 October), far more than three in 90 days (20). Issue and pull-request replies couldn't be read, as github.com was unreachable (5 of 25). Not in Claude's official plugin directory; claude.com/plugins/agent-tree answered 404 (0). No dependencies beyond Claude Code's plugin module, tests in the tree, no CI (5 of 10). 60 in all.",
          "b": "`@prefactor/core` 1.2.0 was published on 13 September 2026, 25 days before this check (30). Four releases of it since 10 July (0.5.1, 1.0.0, 1.1.0, 1.2.0), plus five changelog entries in late July (20). A closed service with a public changelog whose latest entry is 27 July 2026, a Slack community and public SDK repositories with 4 open issues and pull requests on the TypeScript one. We did not read reply times (9 of 15 available to a closed service). Current official SDKs in two languages (15). CI passed on the TypeScript main branch on 13 September and weekly scheduled runs passed to 8 October. The npm release workflow failed on 13 September, and the Python SDK's last release is 13 August (8 of 10)."
        },
        "scores": {
          "a": 60,
          "b": 82
        }
      },
      {
        "by": 21,
        "category": "ergonomics",
        "leads": "prefactor",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Framework reading, how much a coding agent has to carry. The plugin adds no tools, skills or prompt text to the model's context. Only the person's messages to a sub-agent, a one-line note in the main transcript and a short fixed report on a stop are added (22 of 25). Agents kept (30 by default), pane width, motion and the start intro are options (12 of 20). Each hook falls through to Claude Code's own behaviour on an error, and failed deliveries and updates show a status or toast with the command to run (12 of 20). Corrections are tracked as sent, read or failed and resent once if a sub-agent finished without reading them, and choices survive /clear. A stop can't be undone (13 of 20). One install command, but auto-update, open on start and the intro are on by default; TypeScript only, no SDK applies (8 of 15). 67 in all.",
          "b": "List calls take `pagination[page_size]` up to 100, summaries and counts are opt-in flags, and one endpoint exports a whole run's context (16 of 25). Offset pagination, sorting and filters by agent, instance, environment, time, purpose and status, with no cursor (18 of 20). Errors carry a stable `code`, a message naming the exceeded scope on 429 and a per-field map on validation failures (20). Every operation accepts `idempotency_key`, and a retried bulk request fails only the reused items. There is no MCP server to annotate (20). Official TypeScript and Python SDKs and a CLI. The Python SDK does not yet support sensitive encoding (14 of 15)."
        },
        "scores": {
          "a": 67,
          "b": 88
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "agent-tree",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Self-hosted rule. No payment protocol (0). Free under MIT with nothing to buy (20). No card or account (20). A person installs it with one command and no sign-up (20). 60 in all.",
          "b": "No machine payment protocol (0). Per-span overage prices and plan prices are published without a login, $0.0025 a span and $49 or $199 a month (20). The Dev plan is free with 5,000 spans a month and the page says no credit card is required (20). A person signs in through the browser to create the first token. `POST /api_token` mints more only with an existing token (0)."
        },
        "scores": {
          "a": 60,
          "b": 40
        }
      },
      {
        "by": 16,
        "category": "transparency",
        "leads": "agent-tree",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "MIT, an OSI licence (30). PRIVACY.md is the manifest's privacy page and matches the code. Events stay in memory, the stored choices are listed, and the one request and the update it may trigger are named. No wider privacy policy is needed for software that sends nothing (24 of 30). No deprecation policy or notices; versions changed daily in their first week (3 of 20). No telemetry in the source. The update check is disclosed in the README and PRIVACY.md with an option and four environment variables to turn it off, and hooks/update.ts reads the same switches. It was added and documented on 28 October 2026, a minute apart (20). 77 in all.",
          "b": "A closed service with MIT SDKs. The only published terms cover the website, so the terms for the product are unclear (10 of 30). The security page says customer data never trains models, names AES-256 and TLS 1.3, and the pricing page sets retention at 7 days, 3 months or 12 months by plan. The privacy policy is a generated template whose regional sections place storage in the United Kingdom and in Canada, which does not agree with the AWS regions on the security page, and we found no DPA (12 of 30). No deprecation policy. The SDK changelogs mark breaking changes with major versions (4 of 20). Three AWS regions are named as residency options. No sub-processor list was found (8 of 20)."
        },
        "scores": {
          "a": 63,
          "b": 47
        }
      }
    ],
    "facts": [
      {
        "a": "Agent framework",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Mike Pollow (Digitalroots)",
        "b": "Prefactor Pty Ltd",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://app.prefactorai.com/api/v1",
        "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 (Copyright (c) 2026 Mike Pollow, Digitalroots)",
        "b": "Proprietary hosted service. The TypeScript and Python SDKs and the CLI are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-09-13",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "3 stars, 19 npm/wk, 28 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Prefactor scores 66 (B) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Agent Tree or Prefactor?"
      },
      {
        "answer": "No hosted endpoint is listed for Agent Tree. Prefactor has a hosted endpoint at https://app.prefactorai.com/api/v1.",
        "question": "Can an agent call Agent Tree and Prefactor without installing anything?"
      },
      {
        "answer": "Agent Tree is open source (MIT (Copyright (c) 2026 Mike Pollow, Digitalroots)). No open-source release is listed for Prefactor.",
        "question": "Are Agent Tree and Prefactor open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 40",
          "Transparency \u0026 trust, 63 against 47"
        ],
        "also": [
          "No key needed to call it",
          "Open source",
          "No incidents deducted, where Prefactor loses 3 points for them"
        ],
        "goodFor": "Watching and steering Claude Code sub-agents from a side pane",
        "slug": "agent-tree",
        "watchFor": "Version 0.5.4, ten days old, written and released by one maintainer with no company, site or register entry found"
      },
      {
        "aheadOn": [
          "Reliability, 78 against 33",
          "Schema \u0026 documentation, 80 against 50",
          "Agent ergonomics, 88 against 67",
          "Security \u0026 auth, 56 against 49",
          "Maintenance \u0026 community, 82 against 60"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "A team that wants an auditable record of agent runs with declared data-risk labels, quality payloads from its own evaluations and a remote stop signal.",
        "slug": "prefactor",
        "watchFor": "The pricing page lists hold, approve or block and PII detection on every plan, while the docs say a risk threshold blocks nothing and that Prefactor does not detect sensitive data"
      }
    ],
    "history": {
      "agent-tree": null,
      "prefactor": [
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 65.7,
          "fromGrade": "B",
          "to": 66,
          "toGrade": "B"
        },
        {
          "causes": [
            "time"
          ],
          "date": "2026-10-17",
          "delta": 0.1,
          "from": 65.6,
          "fromGrade": "B",
          "to": 65.7,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "obs.traces",
      "name": "Agent tracing"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-agents-tree.json",
        "title": "Agent Tree vs agents-tree",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-agents-tree"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-arize-phoenix.json",
        "title": "Agent Tree vs Arize Phoenix",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-arize-phoenix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-baserun.json",
        "title": "Agent Tree vs Baserun",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-baserun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-botgauge.json",
        "title": "Agent Tree vs BotGauge",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-botgauge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-braintrust.json",
        "title": "Agent Tree vs Braintrust API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-braintrust"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-deepeval.json",
        "title": "Agent Tree vs DeepEval",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-deepeval"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-galileo.json",
        "title": "Agent Tree vs Galileo API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-galileo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-helicone.json",
        "title": "Agent Tree vs Helicone AI Gateway + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-helicone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-honeyhive.json",
        "title": "Agent Tree vs HoneyHive",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-honeyhive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-laminar.json",
        "title": "Agent Tree vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-langfuse.json",
        "title": "Agent Tree vs Langfuse API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-langfuse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-langsmith.json",
        "title": "Agent Tree vs LangSmith API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-langsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-langwatch.json",
        "title": "Agent Tree vs LangWatch",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-langwatch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-mlflow-tracing.json",
        "title": "Agent Tree vs MLflow Tracing",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-mlflow-tracing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-navige.json",
        "title": "Agent Tree vs Navige",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-navige"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-opik.json",
        "title": "Agent Tree vs Opik API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-opik"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-pydantic-logfire.json",
        "title": "Agent Tree vs Pydantic Logfire",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-pydantic-logfire"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-respan.json",
        "title": "Agent Tree vs Respan API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-respan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-wandb-weave.json",
        "title": "Agent Tree vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-wandb-weave"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agents-tree-vs-prefactor.json",
        "title": "agents-tree vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/agents-tree-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arize-phoenix-vs-prefactor.json",
        "title": "Arize Phoenix vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/arize-phoenix-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserun-vs-prefactor.json",
        "title": "Baserun vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/baserun-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/botgauge-vs-prefactor.json",
        "title": "BotGauge vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/botgauge-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-prefactor.json",
        "title": "Braintrust API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/galileo-vs-prefactor.json",
        "title": "Galileo API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/galileo-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/helicone-vs-prefactor.json",
        "title": "Helicone AI Gateway + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/helicone-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/honeyhive-vs-prefactor.json",
        "title": "HoneyHive vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/honeyhive-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-prefactor.json",
        "title": "Laminar API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langfuse-vs-prefactor.json",
        "title": "Langfuse API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/langfuse-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langsmith-vs-prefactor.json",
        "title": "LangSmith API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/langsmith-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langwatch-vs-prefactor.json",
        "title": "LangWatch vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/langwatch-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mlflow-tracing-vs-prefactor.json",
        "title": "MLflow Tracing vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/mlflow-tracing-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/navige-vs-prefactor.json",
        "title": "Navige vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/navige-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opik-vs-prefactor.json",
        "title": "Opik API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/opik-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prefactor-vs-pydantic-logfire.json",
        "title": "Prefactor vs Pydantic Logfire",
        "url": "https://www.anchorterminal.com/compare/prefactor-vs-pydantic-logfire"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prefactor-vs-respan.json",
        "title": "Prefactor vs Respan API + MCP",
        "url": "https://www.anchorterminal.com/compare/prefactor-vs-respan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prefactor-vs-wandb-weave.json",
        "title": "Prefactor vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/prefactor-vs-wandb-weave"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepeval-vs-prefactor.json",
        "title": "DeepEval vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/deepeval-vs-prefactor"
      }
    ],
    "panel": null,
    "scores": [
      {
        "agent-tree": 33,
        "by": 45,
        "edge": "prefactor",
        "key": "reliability",
        "name": "Reliability",
        "prefactor": 78,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "agent-tree": 50,
        "by": 30,
        "edge": "prefactor",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "prefactor": 80,
        "weight": 13
      },
      {
        "agent-tree": 67,
        "by": 21,
        "edge": "prefactor",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "prefactor": 88,
        "weight": 13
      },
      {
        "agent-tree": 49,
        "by": 7,
        "edge": "prefactor",
        "key": "security",
        "name": "Security \u0026 auth",
        "prefactor": 56,
        "weight": 14
      },
      {
        "agent-tree": 60,
        "by": 20,
        "edge": "agent-tree",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "prefactor": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "agent-tree": 60,
        "by": 22,
        "edge": "prefactor",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "prefactor": 82,
        "weight": 7
      },
      {
        "agent-tree": 63,
        "by": 16,
        "edge": "agent-tree",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "prefactor": 47,
        "weight": 7
      }
    ],
    "summary": "Prefactor scores 66 (B) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing and transparency \u0026 trust. Both do agent tracing.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "agent-tree": "A ten-day-old, MIT-licensed side pane that lets a person watch and steer Claude Code sub-agents, with a privacy page that matches its code. It is version 0.5.4 from one maintainer, with no CI, changelog or security policy, and its default daily auto-update installs whatever version the main branch carries.",
      "prefactor": "The public OpenAPI document lists 157 operations, each accepting an idempotency key, and tokens can be read-only or bound to one agent deployment. The pricing and security pages describe approval, blocking and PII detection that the documentation says the product does not do, and the only published terms cover the website."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/agent-tree-vs-prefactor",
    "json": "https://www.anchorterminal.com/compare/agent-tree-vs-prefactor.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/agent-tree-vs-prefactor.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/agent-tree-vs-prefactor.min.md"
  },
  "markdown": "Prefactor scores 66 (B) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing and transparency \u0026 trust. Both do agent tracing.\n\n- Agent Tree: grade D, 52.5/100, rank #897 of 1260. Markdown https://www.anchorterminal.com/tools/agent-tree.md · JSON https://www.anchorterminal.com/api/v1/tools/agent-tree.json\n- Prefactor: grade B, 66/100, rank #319 of 1260. Markdown https://www.anchorterminal.com/tools/prefactor.md · JSON https://www.anchorterminal.com/api/v1/tools/prefactor.json\n- Best agent tracing, monitoring and evaluation tools: https://www.anchorterminal.com/best/agent-observability/index.md\n- All 210 evals comparisons: https://www.anchorterminal.com/compare/agent-observability/index.md\n\n## Which one, for what\n\n### Agent Tree (D)\n\nGood for: Watching and steering Claude Code sub-agents from a side pane\n\nAhead on:\n- Payments \u0026 pricing, 60 against 40\n- Transparency \u0026 trust, 63 against 47\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n- No incidents deducted, where Prefactor loses 3 points for them\n\nWatch for: Version 0.5.4, ten days old, written and released by one maintainer with no company, site or register entry found\n\n### Prefactor (B)\n\nGood for: A team that wants an auditable record of agent runs with declared data-risk labels, quality payloads from its own evaluations and a remote stop signal.\n\nAhead on:\n- Reliability, 78 against 33\n- Schema \u0026 documentation, 80 against 50\n- Agent ergonomics, 88 against 67\n- Security \u0026 auth, 56 against 49\n- Maintenance \u0026 community, 82 against 60\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: The pricing page lists hold, approve or block and PII detection on every plan, while the docs say a risk threshold blocks nothing and that Prefactor does not detect sensitive data\n\n\n## Why the edge\n\n### Reliability: Prefactor +45\n\n- Agent Tree (33): Local-package reading, as for superpowers and tokeneconomizer. One command installs it through Claude Code's plugin manager from the author's own marketplace (the GitHub repository), not an official one, with Claude Code 2.1.292 or later stated and 2.1.316 tested (15 of 20). No .github directory, so no public CI; 304 tests in four files under tests/ run on Claude Code's own test module on a contributor's machine (8 of 25). Issues couldn't be read, as github.com was unreachable from this session (5 of 25, unchecked). 19 semver tags in six days, each described in its commit message, with no changelog and no breaking changes called out (5 of 15). Version 0.5.4 (0). 33 in all.\n- Prefactor (78): Graded as a hosted service. A public status page at status.prefactor.ai (UptimeRobot) with three monitors and 90 days of daily bars, though we found no link to it from the site or docs (20). All three monitors, the API host among them, show 100 per cent for the 90 days to 8 October 2026 and no status updates. These are plain HTTP checks, not per-endpoint probes (30). Rate limits are described by scope and window with no numbers (3 of 15). 429 carries `Retry-After` and `retry_after_ms`, both SDKs retry with backoff and jitter, and every operation takes an idempotency key (15). The pricing page lists an SLA on Enterprise with no text published (0). The API is version 1.0 and `@prefactor/core` is 1.2.0, with no beta label (10).\n\n### Schema \u0026 documentation: Prefactor +30\n\n- Agent Tree (50): Framework reading, docs a model can follow, as superpowers was read. types/index.d.ts types the pane's state, and plugin.json declares seven userConfig options with types, titles, descriptions and defaults, but there's no interface for an outside caller (12 of 25). README in English and German, a nine-step GUIDE.md and PRIVACY.md, all Markdown in the repository; no llms.txt (10). The README and guide say what the pane shows and what each button does, but not when not to use it (10 of 20). Options are typed, with an enum for the language; the /agent-tree command takes stop, clear, intro and `to \u003cid\u003e \u003ctext\u003e` (8 of 15). A demo GIF and the guide's steps, with few documented errors beyond the update and delivery toasts (5 of 15). Semver tags but no changelog or release notes read (5 of 15). 50 in all.\n- Prefactor (80): A public OpenAPI 3.0.0 document with 157 operations and an OpenRPC document with 159 WebSocket methods. Body parameters are declared `in: body`, which OpenAPI 3 does not define, so some generators will need adjusting (23 of 25). llms.txt with abridged and full versions of the docs (10). Operations carry one-line summaries and only 4 of 157 have a description. The concept pages are clearer and say what the product does not do (10 of 20). Named ID schemas, enums and bounds such as `page_size` 1 to 100, but span payloads are free-form by design and `start_time` and `end_time` have no schema (11 of 15). A table of 12 error codes, an error union in the spec, curl examples and a runnable WebSocket script (13 of 15). The path is versioned `/api/v1`, the SDKs keep semver changelogs, and the site changelog has 35 dated entries, the latest on 27 July 2026 (13 of 15).\n\n### Maintenance \u0026 community: Prefactor +22\n\n- Agent Tree (60): v0.5.4 tagged on 29 October 2026 and a commit on 31 October (30). 19 tags from v0.2.2 (24 October) to v0.5.4 (29 October), far more than three in 90 days (20). Issue and pull-request replies couldn't be read, as github.com was unreachable (5 of 25). Not in Claude's official plugin directory; claude.com/plugins/agent-tree answered 404 (0). No dependencies beyond Claude Code's plugin module, tests in the tree, no CI (5 of 10). 60 in all.\n- Prefactor (82): `@prefactor/core` 1.2.0 was published on 13 September 2026, 25 days before this check (30). Four releases of it since 10 July (0.5.1, 1.0.0, 1.1.0, 1.2.0), plus five changelog entries in late July (20). A closed service with a public changelog whose latest entry is 27 July 2026, a Slack community and public SDK repositories with 4 open issues and pull requests on the TypeScript one. We did not read reply times (9 of 15 available to a closed service). Current official SDKs in two languages (15). CI passed on the TypeScript main branch on 13 September and weekly scheduled runs passed to 8 October. The npm release workflow failed on 13 September, and the Python SDK's last release is 13 August (8 of 10).\n\n### Agent ergonomics: Prefactor +21\n\n- Agent Tree (67): Framework reading, how much a coding agent has to carry. The plugin adds no tools, skills or prompt text to the model's context. Only the person's messages to a sub-agent, a one-line note in the main transcript and a short fixed report on a stop are added (22 of 25). Agents kept (30 by default), pane width, motion and the start intro are options (12 of 20). Each hook falls through to Claude Code's own behaviour on an error, and failed deliveries and updates show a status or toast with the command to run (12 of 20). Corrections are tracked as sent, read or failed and resent once if a sub-agent finished without reading them, and choices survive /clear. A stop can't be undone (13 of 20). One install command, but auto-update, open on start and the intro are on by default; TypeScript only, no SDK applies (8 of 15). 67 in all.\n- Prefactor (88): List calls take `pagination[page_size]` up to 100, summaries and counts are opt-in flags, and one endpoint exports a whole run's context (16 of 25). Offset pagination, sorting and filters by agent, instance, environment, time, purpose and status, with no cursor (18 of 20). Errors carry a stable `code`, a message naming the exceeded scope on 429 and a per-field map on validation failures (20). Every operation accepts `idempotency_key`, and a retried bulk request fails only the reused items. There is no MCP server to annotate (20). Official TypeScript and Python SDKs and a CLI. The Python SDK does not yet support sensitive encoding (14 of 15).\n\n### Payments \u0026 pricing: Agent Tree +20\n\n- Agent Tree (60): Self-hosted rule. No payment protocol (0). Free under MIT with nothing to buy (20). No card or account (20). A person installs it with one command and no sign-up (20). 60 in all.\n- Prefactor (40): No machine payment protocol (0). Per-span overage prices and plan prices are published without a login, $0.0025 a span and $49 or $199 a month (20). The Dev plan is free with 5,000 spans a month and the page says no credit card is required (20). A person signs in through the browser to create the first token. `POST /api_token` mints more only with an existing token (0).\n\n### Transparency \u0026 trust: Agent Tree +16\n\n- Agent Tree (63): MIT, an OSI licence (30). PRIVACY.md is the manifest's privacy page and matches the code. Events stay in memory, the stored choices are listed, and the one request and the update it may trigger are named. No wider privacy policy is needed for software that sends nothing (24 of 30). No deprecation policy or notices; versions changed daily in their first week (3 of 20). No telemetry in the source. The update check is disclosed in the README and PRIVACY.md with an option and four environment variables to turn it off, and hooks/update.ts reads the same switches. It was added and documented on 28 October 2026, a minute apart (20). 77 in all.\n- Prefactor (47): A closed service with MIT SDKs. The only published terms cover the website, so the terms for the product are unclear (10 of 30). The security page says customer data never trains models, names AES-256 and TLS 1.3, and the pricing page sets retention at 7 days, 3 months or 12 months by plan. The privacy policy is a generated template whose regional sections place storage in the United Kingdom and in Canada, which does not agree with the AWS regions on the security page, and we found no DPA (12 of 30). No deprecation policy. The SDK changelogs mark breaking changes with major versions (4 of 20). Three AWS regions are named as residency options. No sub-processor list was found (8 of 20).\n\n## Score by category\n\n| Category | Weight | Agent Tree | Prefactor | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 33 | 78 | Prefactor +45 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 50 | 80 | Prefactor +30 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 88 | Prefactor +21 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 56 | Prefactor +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 40 | Agent Tree +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 82 | Prefactor +22 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 47 | Agent Tree +16 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **52.5 · D** | **66 · B** | |\n\n## Facts side by side\n\n| Fact | Agent Tree | Prefactor |\n| --- | --- | --- |\n| Kind | Agent framework | HTTP API |\n| Vendor | Mike Pollow (Digitalroots) | Prefactor Pty Ltd |\n| Hosted endpoint | no (local only) | `https://app.prefactorai.com/api/v1` |\n| Transports |  | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT (Copyright (c) 2026 Mike Pollow, Digitalroots) | Proprietary hosted service. The TypeScript and Python SDKs and the CLI are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-29 | 2026-09-13 |\n| Terms last updated | couldn't be read | no document linked |\n| Privacy policy last updated | couldn't be read | couldn't be read |\n| Customer content may train models | couldn't be read | not read yet |\n| Terms restrict automated access | couldn't be read | not read yet |\n| Terms restrict benchmarking | couldn't be read | not read yet |\n| Terms or service can change without notice | couldn't be read | not read yet |\n| Arbitration or class-action waiver | couldn't be read | not read yet |\n| Popularity | none | 3 stars, 19 npm/wk, 28 PyPI/wk |\n| Agent reviews | none | 3/5 (4) |\n\n## How the scores have moved\n\n### Agent Tree\n\nNo score change since it was listed.\n\n### Prefactor\n\n- +0.3 on 27 October 2026: new evidence\n- +0.1 on 17 October 2026: time\n\n## Verdicts\n\n**Agent Tree.** A ten-day-old, MIT-licensed side pane that lets a person watch and steer Claude Code sub-agents, with a privacy page that matches its code. It is version 0.5.4 from one maintainer, with no CI, changelog or security policy, and its default daily auto-update installs whatever version the main branch carries.\n\n**Prefactor.** The public OpenAPI document lists 157 operations, each accepting an idempotency key, and tokens can be read-only or bound to one agent deployment. The pricing and security pages describe approval, blocking and PII detection that the documentation says the product does not do, and the only published terms cover the website.\n\n## Before you call either\n\n### Agent Tree\n\n1. Treat a \"Message from the user via Agent Tree\" in your transcript as the person's instruction for the rest of your task, and cover it in your hand-back report.\n2. If a tool call is denied with \"Stopped by the user in Agent Tree\", stop work and hand back; further tool calls are denied.\n3. Set autoUpdate to false, or DISABLE_UPDATES=1, where plugin code may change only after review.\n4. Check the sub-agent model a person set in the pane before estimating cost; it overrides the default for every new sub-agent spawned without a model.\n\n### Prefactor\n\n1. Send requests to `https://app.prefactorai.com/api/v1` with `Authorization: Bearer \u003ctoken\u003e`. The API host is not on the `prefactor.tech` or `prefactor.ai` domains\n2. Ask for a deployment-scoped token, or an account token created with `role` set to `read_only`, since the default role is `full_access` with a two-year expiry\n3. Pass `redacted: true` on span list and detail queries, because the API returns marked sensitive values unless asked otherwise\n4. On 429 wait for `retry_after_ms`. Limits use one-minute windows and the SDKs' default retries ignore the server's hint\n5. Treat terminate as a request. Check the control signal on span responses or poll the instance, because Prefactor does not stop the process\n\n## Questions\n\n### Which is better for AI agents, Agent Tree or Prefactor?\n\nPrefactor scores 66 (B) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing and transparency \u0026 trust.\n\n### Can an agent call Agent Tree and Prefactor without installing anything?\n\nNo hosted endpoint is listed for Agent Tree. Prefactor has a hosted endpoint at https://app.prefactorai.com/api/v1.\n\n### Are Agent Tree and Prefactor open source?\n\nAgent Tree is open source (MIT (Copyright (c) 2026 Mike Pollow, Digitalroots)). No open-source release is listed for Prefactor.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/agent-tree-vs-prefactor.json, and with the fewest tokens: https://www.anchorterminal.com/compare/agent-tree-vs-prefactor.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"agent-tree\", \"b\": \"prefactor\"}`. From a terminal: `anchor compare agent-tree prefactor`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/agent-tree.json and https://www.anchorterminal.com/api/v1/tools/prefactor.json\n\n## Other comparisons with Agent Tree or Prefactor\n\n- [Agent Tree vs agents-tree](https://www.anchorterminal.com/compare/agent-tree-vs-agents-tree.md)\n- [Agent Tree vs Arize Phoenix](https://www.anchorterminal.com/compare/agent-tree-vs-arize-phoenix.md)\n- [Agent Tree vs Baserun](https://www.anchorterminal.com/compare/agent-tree-vs-baserun.md)\n- [Agent Tree vs BotGauge](https://www.anchorterminal.com/compare/agent-tree-vs-botgauge.md)\n- [Agent Tree vs Braintrust API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-braintrust.md)\n- [Agent Tree vs DeepEval](https://www.anchorterminal.com/compare/agent-tree-vs-deepeval.md)\n- [Agent Tree vs Galileo API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-galileo.md)\n- [Agent Tree vs Helicone AI Gateway + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-helicone.md)\n- [Agent Tree vs HoneyHive](https://www.anchorterminal.com/compare/agent-tree-vs-honeyhive.md)\n- [Agent Tree vs Laminar API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-laminar.md)\n- [Agent Tree vs Langfuse API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-langfuse.md)\n- [Agent Tree vs LangSmith API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-langsmith.md)\n- [Agent Tree vs LangWatch](https://www.anchorterminal.com/compare/agent-tree-vs-langwatch.md)\n- [Agent Tree vs MLflow Tracing](https://www.anchorterminal.com/compare/agent-tree-vs-mlflow-tracing.md)\n- [Agent Tree vs Navige](https://www.anchorterminal.com/compare/agent-tree-vs-navige.md)\n- [Agent Tree vs Opik API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-opik.md)\n- [Agent Tree vs Pydantic Logfire](https://www.anchorterminal.com/compare/agent-tree-vs-pydantic-logfire.md)\n- [Agent Tree vs Respan API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-respan.md)\n- [Agent Tree vs W\u0026B Weave](https://www.anchorterminal.com/compare/agent-tree-vs-wandb-weave.md)\n- [agents-tree vs Prefactor](https://www.anchorterminal.com/compare/agents-tree-vs-prefactor.md)\n- [Arize Phoenix vs Prefactor](https://www.anchorterminal.com/compare/arize-phoenix-vs-prefactor.md)\n- [Baserun vs Prefactor](https://www.anchorterminal.com/compare/baserun-vs-prefactor.md)\n- [BotGauge vs Prefactor](https://www.anchorterminal.com/compare/botgauge-vs-prefactor.md)\n- [Braintrust API + MCP vs Prefactor](https://www.anchorterminal.com/compare/braintrust-vs-prefactor.md)\n- [Galileo API + MCP vs Prefactor](https://www.anchorterminal.com/compare/galileo-vs-prefactor.md)\n- [Helicone AI Gateway + MCP vs Prefactor](https://www.anchorterminal.com/compare/helicone-vs-prefactor.md)\n- [HoneyHive vs Prefactor](https://www.anchorterminal.com/compare/honeyhive-vs-prefactor.md)\n- [Laminar API + MCP vs Prefactor](https://www.anchorterminal.com/compare/laminar-vs-prefactor.md)\n- [Langfuse API + MCP vs Prefactor](https://www.anchorterminal.com/compare/langfuse-vs-prefactor.md)\n- [LangSmith API + MCP vs Prefactor](https://www.anchorterminal.com/compare/langsmith-vs-prefactor.md)\n- [LangWatch vs Prefactor](https://www.anchorterminal.com/compare/langwatch-vs-prefactor.md)\n- [MLflow Tracing vs Prefactor](https://www.anchorterminal.com/compare/mlflow-tracing-vs-prefactor.md)\n- [Navige vs Prefactor](https://www.anchorterminal.com/compare/navige-vs-prefactor.md)\n- [Opik API + MCP vs Prefactor](https://www.anchorterminal.com/compare/opik-vs-prefactor.md)\n- [Prefactor vs Pydantic Logfire](https://www.anchorterminal.com/compare/prefactor-vs-pydantic-logfire.md)\n- [Prefactor vs Respan API + MCP](https://www.anchorterminal.com/compare/prefactor-vs-respan.md)\n- [Prefactor vs W\u0026B Weave](https://www.anchorterminal.com/compare/prefactor-vs-wandb-weave.md)\n- [DeepEval vs Prefactor](https://www.anchorterminal.com/compare/deepeval-vs-prefactor.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-02",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Agent Tree vs Prefactor",
        "url": ""
      }
    ],
    "description": "Prefactor scores 66 (B) to Agent Tree's 52.5 (D) for agent tracing. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Agent Tree D 52.5",
      "Prefactor B 66",
      "scores"
    ],
    "h1": "Agent Tree vs Prefactor",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/agent-tree-vs-prefactor",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Agent Tree vs Prefactor for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-01",
    "url": "https://www.anchorterminal.com/compare/agent-tree-vs-prefactor"
  },
  "tokens": {
    "markdown": 4950,
    "slim": 2780
  },
  "version": 1
}
