{
  "data": {
    "a": {
      "slug": "caddy-app",
      "name": "Caddy",
      "vendor": "Caddy Technologies Inc.",
      "vendorUrl": "https://caddy.app",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "Caddy is a hosted personal AI assistant people text over iMessage or RCS. It watches connected mail, calendars and work apps, sends reminders and briefings, and drafts replies and calendar changes for the owner.",
      "url": "https://www.anchorterminal.com/tools/caddy-app",
      "markdownUrl": "https://www.anchorterminal.com/tools/caddy-app.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/caddy-app.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/caddy-app.json",
      "license": "Closed service under Caddy's Terms of Service (Caddy Technologies Inc., last updated 27 April 2026).",
      "transports": [],
      "packages": [],
      "auth": "mixed",
      "authNotes": "Sign-in is with Google, then the person connects tools and continues in Messages (https://caddy.app/llms.txt). Financial accounts connect through Plaid, and Caddy does not receive bank login credentials (https://caddy.app/privacy).",
      "pricing": "free",
      "pricingNotes": "\"Caddy is free to use\" (https://caddy.app/llms.txt, checked 14 October 2026). The terms say some parts of the service may require payment, with pricing given in the service (https://caddy.app/terms-of-service). No paid plan was published.",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 found on caddy.app, llms.txt and the terms, checked 14 October 2026.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "llmsTxt": "https://caddy.app/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.accounts",
        "assistant.memory",
        "messaging.rcs",
        "messaging.inbound",
        "mailbox.read",
        "calendar.write",
        "tasks.create",
        "memory.user"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "free",
        "llms-txt",
        "ios"
      ],
      "lastRelease": "2026-10-13",
      "graded": true,
      "disclosure": "Caddy competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 16.7,
        "grade": "F",
        "agentReady": false,
        "rank": 1197,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 40,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 0,
          "maintenance": 55,
          "payments": 30,
          "reliability": 10,
          "schema": 10,
          "security": 0,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Caddy is a free iMessage and RCS assistant in public beta that watches connected mail, calendars and work apps and asks before sending email or changing data. No outside agent can call it, and no status page, changelog or security contact was found, though its iOS app ships every week or two.",
        "bestFor": "People who want a free assistant in iMessage or RCS that watches mail, calendars and work tools and asks before acting.",
        "disclosure": "Caddy competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
        "strengths": [
          "Free, with Google sign-in and no card.",
          "Asks for approval before sending email, creating invites or changing data, per llms.txt.",
          "The privacy policy says customer data doesn't train models and is deleted within 30 days of account deletion.",
          "The bank link through Plaid is read-only.",
          "Eight iOS releases between 21 August and 13 October 2026."
        ],
        "weaknesses": [
          "No API, MCP server or A2A endpoint for an outside agent.",
          "In public beta.",
          "No status page, changelog, security.txt or security contact found.",
          "llms.txt says there's no app to install, while the App Store lists Caddy's iOS app.",
          "Model providers aren't named."
        ],
        "agentNotes": [
          "Don't plan to call Caddy from another agent. It answers the owner's text messages, Siri and group chats it's added to.",
          "Expect Caddy to ask the owner before it sends email or creates an invite."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 1.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 16.7
          }
        ],
        "editorialScores": {
          "ergonomics": 0,
          "maintenance": 55,
          "payments": 30,
          "reliability": 10,
          "schema": 10,
          "security": 0,
          "transparency": 43
        },
        "provenanceScore": 60,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-14",
            "maintenance": "2026-10-14",
            "payments": "2026-10-14",
            "reliability": "2026-10-14",
            "schema": "2026-10-14",
            "security": "2026-10-14",
            "transparency": "2026-10-14"
          },
          "last": "2026-10-14",
          "lastMoved": "2026-10-30",
          "oldest": "2026-10-14",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/caddy-app"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Caddy Technologies Inc.",
        "domain": "caddy.app",
        "domainRegistered": "2018-05-05",
        "endpointOnVendorDomain": null,
        "terms": "https://caddy.app/terms-of-service",
        "privacy": "https://caddy.app/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The terms cover both trycaddy.ai and caddy.app.",
          "caddy.app/.well-known/security.txt returns 404. No status page or changelog was found.",
          "RDAP gives a registration date of 2018-05-05 for caddy.app, which may predate the company."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/caddy-app.json",
      "live": {
        "slug": "caddy-app",
        "securityTxt": {
          "url": "https://caddy.app/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-30T15:38:41.066229207Z"
        },
        "llmsTxt": {
          "url": "https://caddy.app/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-30T15:06:45.293196984Z"
        },
        "domain": {
          "domain": "caddy.app",
          "registered": "2018-05-05",
          "source": "https://pubapi.registry.google/rdap/domain/caddy.app",
          "checkedAt": "2026-10-25T13:53:35.085444724Z"
        },
        "pages": [
          {
            "url": "https://caddy.app/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-30T05:32:43.896982067Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6eef0e3a773a"
          },
          {
            "url": "https://caddy.app/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-30T05:32:46.17327065Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ed2fcd4db17d"
          }
        ],
        "updatedAt": "2026-10-30T15:38:41.066229207Z"
      }
    },
    "answer": "LearnHarness scores 59.3 (C) on agent readiness against Caddy's 16.7 (F), and leads in every scored category.",
    "b": {
      "slug": "learnharness",
      "name": "LearnHarness",
      "vendor": "Amos Blomqvist",
      "vendorUrl": "https://learnharness.ai",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "LearnHarness is an open-source desktop app for macOS, Windows and Linux that tests what a learner already understands, plans a route to a goal, teaches step by step and keeps a local knowledge graph, using the learner's own model keys.",
      "url": "https://www.anchorterminal.com/tools/learnharness",
      "markdownUrl": "https://www.anchorterminal.com/tools/learnharness.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/learnharness.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/learnharness.json",
      "repo": "https://github.com/amosblomqvist/learnharness",
      "license": "AGPL-3.0-only",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No LearnHarness account. The learner adds keys for model providers (OpenAI, Anthropic, Google, DeepSeek, OpenRouter and others), or one OpenAI-compatible endpoint, or signs in with ChatGPT, GitHub Copilot or Grok, or connects an installed Claude Code CLI. Deepgram (dictation) and Tavily or Brave (web search) take separate keys.",
      "pricing": "free",
      "pricingNotes": "Free under AGPL-3.0 with nothing to buy. Model usage is billed by the provider the learner configures, or counts against a ChatGPT, Copilot or Grok plan, and the app shows a live cost meter. The README says any future charge would be for convenience such as managed keys or hosting.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the website, the skill or the source files read (checked 2026-10-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4204,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://github.com/amosblomqvist/learnharness/blob/main/docs/development.md",
      "capabilities": [
        "assistant.memory",
        "assistant.self-hosted",
        "memory.graph",
        "memory.read",
        "web.search"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "agpl",
        "desktop-app",
        "macos",
        "windows",
        "linux",
        "agent-skill",
        "typescript",
        "new"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.3,
        "grade": "C",
        "agentReady": false,
        "rank": 648,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 71,
          "payments": 60,
          "reliability": 56,
          "schema": 63,
          "security": 52,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": 0,
        "verdict": "The in-app agent reads files but cannot change them or run commands, and a bundled skill gives other agents a documented read-only view of sessions and the knowledge graph. The project is 14 days old at 0.4.0, its file reads reach the whole home directory without approval, and it has no security policy.",
        "bestFor": "A tutor for one learner that keeps a local record of sessions and a graph of propositions and reasoning chains.",
        "strengths": [
          "AGPL-3.0 source, with installers for macOS (signed and notarised), Windows and Linux on GitHub Releases",
          "A bundled agent skill with Python readers that print sessions and graph data as text or JSON and write nothing",
          "The in-app agent has no shell, write or send tool, and Claude Code runs with its built-in tools switched off",
          "The desktop server binds 127.0.0.1 and requires a per-launch 64-character secret header",
          "Nine releases from 17 to 29 October 2026, with CI running typecheck, tests, lint and three-OS builds on main"
        ],
        "weaknesses": [
          "The read, ls, find and grep tools resolve against the home directory with no allow list, and their output goes to the model provider",
          "Provider keys and ChatGPT sign-in credentials are stored as plaintext JSON at mode 0600, not in the OS keychain",
          "No SECURITY.md, security.txt, privacy policy or terms. learnharness.ai answers 404 for each",
          "0.x software created on 16 October 2026, with 265 open issues and pull requests and none of the 39 newest pull requests merged",
          "No outside agent can start or drive a lesson. The local HTTP API is for the app's own window"
        ],
        "agentNotes": [
          "Use the bundled skill (`skills/learnharness/SKILL.md`) to read a learner's record. It needs Python 3.10 or later and writes nothing",
          "Pass `--format json` before the subcommand, for example `python3 -B scripts/graph.py --format json propositions`",
          "Treat stored answer keys and teacher prose as model-authored. A proposition in the graph is not evidence the learner understood it",
          "Do not read `auth.json`, which sits one folder above the data folder and holds provider keys in plain text",
          "Close the app or re-read when a stable snapshot matters. The readers do not lock files while the app writes"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.3
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 71,
          "payments": 60,
          "reliability": 56,
          "schema": 63,
          "security": 52,
          "transparency": 64
        },
        "provenanceScore": 56,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-30",
            "maintenance": "2026-10-30",
            "payments": "2026-10-30",
            "reliability": "2026-10-30",
            "schema": "2026-10-30",
            "security": "2026-10-30",
            "transparency": "2026-10-30"
          },
          "last": "2026-10-30",
          "oldest": "2026-10-30",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "letme": {
        "capability": "https://letme.dev/assistant.memory",
        "tool": "https://letme.dev/learnharness"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "No legal entity found. Copyright Amos Blomqvist",
        "domain": "learnharness.ai",
        "domainRegistered": "2026-10-09",
        "endpointOnVendorDomain": null,
        "terms": "https://raw.githubusercontent.com/amosblomqvist/learnharness/main/LICENSE",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/amosblomqvist/learnharness/releases",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The footer of learnharness.ai reads © 2026 Amos Blomqvist, and `package.json` names Amos Blomqvist as author. No company is named.",
          "learnharness.ai/privacy, /terms, /llms.txt and /.well-known/security.txt return 404, and the repository has no SECURITY.md, so the AGPL-3.0 licence stands in for terms.",
          "RDAP (Identity Digital) gives learnharness.ai a registration date of 2026-10-09.",
          "The app runs on the learner's machine. Its only vendor-side service seen is the website, which a release workflow updates. Updates come from GitHub Releases.",
          "There is no CHANGELOG file. Each GitHub release carries its notes."
        ],
        "score": 56
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/learnharness.json"
    },
    "facts": [
      {
        "a": "Platform",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Caddy Technologies Inc.",
        "b": "Amos Blomqvist",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Closed service under Caddy's Terms of Service (Caddy Technologies Inc., last updated 27 April 2026).",
        "b": "AGPL-3.0-only",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-13",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "2026-04-27",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-18",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "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": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "4.2k stars",
        "name": "Popularity"
      },
      {
        "a": "1.8/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "LearnHarness scores 59.3 (C) on agent readiness against Caddy's 16.7 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, Caddy or LearnHarness?"
      },
      {
        "answer": "No open-source release is listed for Caddy. LearnHarness is open source (AGPL-3.0-only).",
        "question": "Are Caddy and LearnHarness open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "People who want a free assistant in iMessage or RCS that watches mail, calendars and work tools and asks before acting.",
        "slug": "caddy-app",
        "watchFor": "No API, MCP server or A2A endpoint for an outside agent."
      },
      {
        "aheadOn": [
          "Reliability, 56 against 10",
          "Schema \u0026 documentation, 63 against 10",
          "Agent ergonomics, 60 against 0",
          "Security \u0026 auth, 52 against 0",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 71 against 55",
          "Transparency \u0026 trust, 60 against 52"
        ],
        "also": [
          "No key needed to call it",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "A tutor for one learner that keeps a local record of sessions and a graph of propositions and reasoning chains.",
        "slug": "learnharness",
        "watchFor": "The read, ls, find and grep tools resolve against the home directory with no allow list, and their output goes to the model provider"
      }
    ],
    "job": {
      "capability": "assistant.memory",
      "name": "Assistants that remember you"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-caddy-app.json",
        "title": "asaply vs Caddy",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-caddy-app"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-caddy-app.json",
        "title": "Asmi vs Caddy",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-caddy-app"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boba-vs-caddy-app.json",
        "title": "Boba vs Caddy",
        "url": "https://www.anchorterminal.com/compare/boba-vs-caddy-app"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-caddy-app.json",
        "title": "Brea vs Caddy",
        "url": "https://www.anchorterminal.com/compare/brea-vs-caddy-app"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-del.json",
        "title": "Caddy vs Del",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-del"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-hirealpha.json",
        "title": "Caddy vs HireAlpha",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-hirealpha"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openinstinct.json",
        "title": "Caddy vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-orbits.json",
        "title": "Caddy vs Orbits",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-orchid-ai.json",
        "title": "Caddy vs Orchid",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-szn.json",
        "title": "Caddy vs szn",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-tab-bot.json",
        "title": "Caddy vs Tab",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-zapia.json",
        "title": "Caddy vs Zapia",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-zapia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-caddy-app.json",
        "title": "AstrBot vs Caddy",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-caddy-app"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boski-vs-caddy-app.json",
        "title": "Boski vs Caddy",
        "url": "https://www.anchorterminal.com/compare/boski-vs-caddy-app"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-claude-duet.json",
        "title": "Caddy vs Claude Duet",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-claude-duet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-cowagent.json",
        "title": "Caddy vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-cowagent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-folk-nozomio.json",
        "title": "Caddy vs folk",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-folk-nozomio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-gaia.json",
        "title": "Caddy vs GAIA",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-gaia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-gemini-spark.json",
        "title": "Caddy vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-grok-bot.json",
        "title": "Caddy vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-haven.json",
        "title": "Caddy vs Haven",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-hermes-agent.json",
        "title": "Caddy vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-instinct.json",
        "title": "Caddy vs Instinct",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-ironclaw.json",
        "title": "Caddy vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-ironclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-leon.json",
        "title": "Caddy vs Leon",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-lindy.json",
        "title": "Caddy vs Lindy",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-lobby-os.json",
        "title": "Caddy vs Lobby",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-lobby-os"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-nanobot.json",
        "title": "Caddy vs nanobot",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-nanoclaw.json",
        "title": "Caddy vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openai-dots.json",
        "title": "Caddy vs Dots",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openclaw.json",
        "title": "Caddy vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openduet.json",
        "title": "Caddy vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-picoclaw.json",
        "title": "Caddy vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-poke.json",
        "title": "Caddy vs Poke",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-qwenpaw.json",
        "title": "Caddy vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-tasker-ai.json",
        "title": "Caddy vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-town.json",
        "title": "Caddy vs Town",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-zeroclaw.json",
        "title": "Caddy vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-zo-computer.json",
        "title": "Caddy vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-learnharness.json",
        "title": "asaply vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-learnharness.json",
        "title": "Asmi vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-caddy-app.json",
        "title": "Atticus vs Caddy",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-caddy-app"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-learnharness.json",
        "title": "Atticus vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boba-vs-learnharness.json",
        "title": "Boba vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/boba-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boski-vs-learnharness.json",
        "title": "Boski vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/boski-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-learnharness.json",
        "title": "Brea vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/brea-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-deeptutor.json",
        "title": "Caddy vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-hark-pro.json",
        "title": "Caddy vs Hark Pro",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-hark-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-talorys.json",
        "title": "Caddy vs Talorys",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-talorys"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-learnharness.json",
        "title": "Claude Duet vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-learnharness.json",
        "title": "CowAgent vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-learnharness.json",
        "title": "DeepTutor vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/del-vs-learnharness.json",
        "title": "Del vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/del-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-nozomio-vs-learnharness.json",
        "title": "folk vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/folk-nozomio-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-learnharness.json",
        "title": "GAIA vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-learnharness.json",
        "title": "Gemini Spark vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-learnharness.json",
        "title": "Grok Bot vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hark-pro-vs-learnharness.json",
        "title": "Hark Pro vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/hark-pro-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-learnharness.json",
        "title": "Haven vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/haven-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-learnharness.json",
        "title": "Hermes Agent vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hirealpha-vs-learnharness.json",
        "title": "HireAlpha vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/hirealpha-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-learnharness.json",
        "title": "Instinct vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-learnharness.json",
        "title": "IronClaw vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-leon.json",
        "title": "LearnHarness vs Leon",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-lindy.json",
        "title": "LearnHarness vs Lindy",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-lobby-os.json",
        "title": "LearnHarness vs Lobby",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-lobby-os"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-nanobot.json",
        "title": "LearnHarness vs nanobot",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-nanoclaw.json",
        "title": "LearnHarness vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-natura.json",
        "title": "LearnHarness vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-openai-dots.json",
        "title": "LearnHarness vs Dots",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-openclaw.json",
        "title": "LearnHarness vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-openduet.json",
        "title": "LearnHarness vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-openinstinct.json",
        "title": "LearnHarness vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-orbits.json",
        "title": "LearnHarness vs Orbits",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-orchid-ai.json",
        "title": "LearnHarness vs Orchid",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-pally.json",
        "title": "LearnHarness vs Pally",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-picoclaw.json",
        "title": "LearnHarness vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-poke.json",
        "title": "LearnHarness vs Poke",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-qwenpaw.json",
        "title": "LearnHarness vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-szn.json",
        "title": "LearnHarness vs szn",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-tab-bot.json",
        "title": "LearnHarness vs Tab",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-talorys.json",
        "title": "LearnHarness vs Talorys",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-talorys"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-tasker-ai.json",
        "title": "LearnHarness vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-tomo.json",
        "title": "LearnHarness vs Tomo",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-town.json",
        "title": "LearnHarness vs Town",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-wajo.json",
        "title": "LearnHarness vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-zapia.json",
        "title": "LearnHarness vs Zapia",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-zapia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-zeroclaw.json",
        "title": "LearnHarness vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-zo-computer.json",
        "title": "LearnHarness vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-natura.json",
        "title": "Caddy vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-pally.json",
        "title": "Caddy vs Pally",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-tomo.json",
        "title": "Caddy vs Tomo",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-wajo.json",
        "title": "Caddy vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-learnharness.json",
        "title": "AstrBot vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-learnharness"
      }
    ],
    "scores": [
      {
        "by": 46,
        "caddy-app": 10,
        "edge": "learnharness",
        "key": "reliability",
        "learnharness": 56,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 53,
        "caddy-app": 10,
        "edge": "learnharness",
        "key": "schema",
        "learnharness": 63,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 60,
        "caddy-app": 0,
        "edge": "learnharness",
        "key": "ergonomics",
        "learnharness": 60,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 52,
        "caddy-app": 0,
        "edge": "learnharness",
        "key": "security",
        "learnharness": 52,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 30,
        "caddy-app": 30,
        "edge": "learnharness",
        "key": "payments",
        "learnharness": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "caddy-app": 55,
        "edge": "learnharness",
        "key": "maintenance",
        "learnharness": 71,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 8,
        "caddy-app": 52,
        "edge": "learnharness",
        "key": "transparency",
        "learnharness": 60,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "LearnHarness scores 59.3 (C) on agent readiness against Caddy's 16.7 (F), and leads in every scored category. Both do assistants that remember you.",
    "tutorials": [],
    "verdicts": {
      "caddy-app": "Caddy is a free iMessage and RCS assistant in public beta that watches connected mail, calendars and work apps and asks before sending email or changing data. No outside agent can call it, and no status page, changelog or security contact was found, though its iOS app ships every week or two.",
      "learnharness": "The in-app agent reads files but cannot change them or run commands, and a bundled skill gives other agents a documented read-only view of sessions and the knowledge graph. The project is 14 days old at 0.4.0, its file reads reach the whole home directory without approval, and it has no security policy."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/caddy-app-vs-learnharness",
    "json": "https://www.anchorterminal.com/compare/caddy-app-vs-learnharness.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/caddy-app-vs-learnharness.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/caddy-app-vs-learnharness.min.md"
  },
  "markdown": "LearnHarness scores 59.3 (C) on agent readiness against Caddy's 16.7 (F), and leads in every scored category. Both do assistants that remember you.\n\n- Caddy: grade F, 16.7/100, rank #1197 of 1239. Markdown https://www.anchorterminal.com/tools/caddy-app.md · JSON https://www.anchorterminal.com/api/v1/tools/caddy-app.json\n- LearnHarness: grade C, 59.3/100, rank #648 of 1239. Markdown https://www.anchorterminal.com/tools/learnharness.md · JSON https://www.anchorterminal.com/api/v1/tools/learnharness.json\n- Best AI personal assistants that act for one person: https://www.anchorterminal.com/best/personal-assistants/index.md\n- All 1196 assistants comparisons: https://www.anchorterminal.com/compare/personal-assistants/index.md\n\n## Which one, for what\n\n### Caddy (F)\n\nGood for: People who want a free assistant in iMessage or RCS that watches mail, calendars and work tools and asks before acting.\n\nWatch for: No API, MCP server or A2A endpoint for an outside agent.\n\n### LearnHarness (C)\n\nGood for: A tutor for one learner that keeps a local record of sessions and a graph of propositions and reasoning chains.\n\nAhead on:\n- Reliability, 56 against 10\n- Schema \u0026 documentation, 63 against 10\n- Agent ergonomics, 60 against 0\n- Security \u0026 auth, 52 against 0\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 71 against 55\n- Transparency \u0026 trust, 60 against 52\n\nAlso in its favour:\n- No key needed to call it\n- Free to start without a card\n- Open source\n\nWatch for: The read, ls, find and grep tools resolve against the home directory with no allow list, and their output goes to the model provider\n\n\n## Score by category\n\n| Category | Weight | Caddy | LearnHarness | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 10 | 56 | LearnHarness +46 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 10 | 63 | LearnHarness +53 |\n| Agent ergonomics | 13% (16.2 this run) | 0 | 60 | LearnHarness +60 |\n| Security \u0026 auth | 14% (17.5 this run) | 0 | 52 | LearnHarness +52 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 60 | LearnHarness +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 55 | 71 | LearnHarness +16 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 60 | LearnHarness +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **16.7 · F** | **59.3 · C** | |\n\n## Facts side by side\n\n| Fact | Caddy | LearnHarness |\n| --- | --- | --- |\n| Kind | Platform | Agent harness |\n| Vendor | Caddy Technologies Inc. | Amos Blomqvist |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Closed service under Caddy's Terms of Service (Caddy Technologies Inc., last updated 27 April 2026). | AGPL-3.0-only |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-13 | 2026-10-29 |\n| Terms last updated | 2026-04-27 | no date given |\n| Privacy policy last updated | 2026-09-18 | no document linked |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | 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 | yes | not found in the text |\n| Popularity | none | 4.2k stars |\n| Agent reviews | 1.8/5 (4) | none |\n\n## Verdicts\n\n**Caddy.** Caddy is a free iMessage and RCS assistant in public beta that watches connected mail, calendars and work apps and asks before sending email or changing data. No outside agent can call it, and no status page, changelog or security contact was found, though its iOS app ships every week or two.\n\n**LearnHarness.** The in-app agent reads files but cannot change them or run commands, and a bundled skill gives other agents a documented read-only view of sessions and the knowledge graph. The project is 14 days old at 0.4.0, its file reads reach the whole home directory without approval, and it has no security policy.\n\n## Before you call either\n\n### Caddy\n\n1. Don't plan to call Caddy from another agent. It answers the owner's text messages, Siri and group chats it's added to.\n2. Expect Caddy to ask the owner before it sends email or creates an invite.\n\n### LearnHarness\n\n1. Use the bundled skill (`skills/learnharness/SKILL.md`) to read a learner's record. It needs Python 3.10 or later and writes nothing\n2. Pass `--format json` before the subcommand, for example `python3 -B scripts/graph.py --format json propositions`\n3. Treat stored answer keys and teacher prose as model-authored. A proposition in the graph is not evidence the learner understood it\n4. Do not read `auth.json`, which sits one folder above the data folder and holds provider keys in plain text\n5. Close the app or re-read when a stable snapshot matters. The readers do not lock files while the app writes\n\n## Questions\n\n### Which is better for AI agents, Caddy or LearnHarness?\n\nLearnHarness scores 59.3 (C) on agent readiness against Caddy's 16.7 (F), and leads in every scored category.\n\n### Are Caddy and LearnHarness open source?\n\nNo open-source release is listed for Caddy. LearnHarness is open source (AGPL-3.0-only).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/caddy-app-vs-learnharness.json, and with the fewest tokens: https://www.anchorterminal.com/compare/caddy-app-vs-learnharness.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"caddy-app\", \"b\": \"learnharness\"}`. From a terminal: `anchor compare caddy-app learnharness`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/caddy-app.json and https://www.anchorterminal.com/api/v1/tools/learnharness.json\n\n## Other comparisons with Caddy or LearnHarness\n\n- [asaply vs Caddy](https://www.anchorterminal.com/compare/asaply-vs-caddy-app.md)\n- [Asmi vs Caddy](https://www.anchorterminal.com/compare/asmi-vs-caddy-app.md)\n- [Boba vs Caddy](https://www.anchorterminal.com/compare/boba-vs-caddy-app.md)\n- [Brea vs Caddy](https://www.anchorterminal.com/compare/brea-vs-caddy-app.md)\n- [Caddy vs Del](https://www.anchorterminal.com/compare/caddy-app-vs-del.md)\n- [Caddy vs HireAlpha](https://www.anchorterminal.com/compare/caddy-app-vs-hirealpha.md)\n- [Caddy vs OpenInstinct](https://www.anchorterminal.com/compare/caddy-app-vs-openinstinct.md)\n- [Caddy vs Orbits](https://www.anchorterminal.com/compare/caddy-app-vs-orbits.md)\n- [Caddy vs Orchid](https://www.anchorterminal.com/compare/caddy-app-vs-orchid-ai.md)\n- [Caddy vs szn](https://www.anchorterminal.com/compare/caddy-app-vs-szn.md)\n- [Caddy vs Tab](https://www.anchorterminal.com/compare/caddy-app-vs-tab-bot.md)\n- [Caddy vs Zapia](https://www.anchorterminal.com/compare/caddy-app-vs-zapia.md)\n- [AstrBot vs Caddy](https://www.anchorterminal.com/compare/astrbot-vs-caddy-app.md)\n- [Boski vs Caddy](https://www.anchorterminal.com/compare/boski-vs-caddy-app.md)\n- [Caddy vs Claude Duet](https://www.anchorterminal.com/compare/caddy-app-vs-claude-duet.md)\n- [Caddy vs CowAgent](https://www.anchorterminal.com/compare/caddy-app-vs-cowagent.md)\n- [Caddy vs folk](https://www.anchorterminal.com/compare/caddy-app-vs-folk-nozomio.md)\n- [Caddy vs GAIA](https://www.anchorterminal.com/compare/caddy-app-vs-gaia.md)\n- [Caddy vs Gemini Spark](https://www.anchorterminal.com/compare/caddy-app-vs-gemini-spark.md)\n- [Caddy vs Grok Bot](https://www.anchorterminal.com/compare/caddy-app-vs-grok-bot.md)\n- [Caddy vs Haven](https://www.anchorterminal.com/compare/caddy-app-vs-haven.md)\n- [Caddy vs Hermes Agent](https://www.anchorterminal.com/compare/caddy-app-vs-hermes-agent.md)\n- [Caddy vs Instinct](https://www.anchorterminal.com/compare/caddy-app-vs-instinct.md)\n- [Caddy vs IronClaw](https://www.anchorterminal.com/compare/caddy-app-vs-ironclaw.md)\n- [Caddy vs Leon](https://www.anchorterminal.com/compare/caddy-app-vs-leon.md)\n- [Caddy vs Lindy](https://www.anchorterminal.com/compare/caddy-app-vs-lindy.md)\n- [Caddy vs Lobby](https://www.anchorterminal.com/compare/caddy-app-vs-lobby-os.md)\n- [Caddy vs nanobot](https://www.anchorterminal.com/compare/caddy-app-vs-nanobot.md)\n- [Caddy vs NanoClaw](https://www.anchorterminal.com/compare/caddy-app-vs-nanoclaw.md)\n- [Caddy vs Dots](https://www.anchorterminal.com/compare/caddy-app-vs-openai-dots.md)\n- [Caddy vs OpenClaw](https://www.anchorterminal.com/compare/caddy-app-vs-openclaw.md)\n- [Caddy vs OpenDuet](https://www.anchorterminal.com/compare/caddy-app-vs-openduet.md)\n- [Caddy vs PicoClaw](https://www.anchorterminal.com/compare/caddy-app-vs-picoclaw.md)\n- [Caddy vs Poke](https://www.anchorterminal.com/compare/caddy-app-vs-poke.md)\n- [Caddy vs QwenPaw](https://www.anchorterminal.com/compare/caddy-app-vs-qwenpaw.md)\n- [Caddy vs Tasker AI](https://www.anchorterminal.com/compare/caddy-app-vs-tasker-ai.md)\n- [Caddy vs Town](https://www.anchorterminal.com/compare/caddy-app-vs-town.md)\n- [Caddy vs ZeroClaw](https://www.anchorterminal.com/compare/caddy-app-vs-zeroclaw.md)\n- [Caddy vs Zo Computer](https://www.anchorterminal.com/compare/caddy-app-vs-zo-computer.md)\n- [asaply vs LearnHarness](https://www.anchorterminal.com/compare/asaply-vs-learnharness.md)\n- [Asmi vs LearnHarness](https://www.anchorterminal.com/compare/asmi-vs-learnharness.md)\n- [Atticus vs Caddy](https://www.anchorterminal.com/compare/atticus-vs-caddy-app.md)\n- [Atticus vs LearnHarness](https://www.anchorterminal.com/compare/atticus-vs-learnharness.md)\n- [Boba vs LearnHarness](https://www.anchorterminal.com/compare/boba-vs-learnharness.md)\n- [Boski vs LearnHarness](https://www.anchorterminal.com/compare/boski-vs-learnharness.md)\n- [Brea vs LearnHarness](https://www.anchorterminal.com/compare/brea-vs-learnharness.md)\n- [Caddy vs DeepTutor](https://www.anchorterminal.com/compare/caddy-app-vs-deeptutor.md)\n- [Caddy vs Hark Pro](https://www.anchorterminal.com/compare/caddy-app-vs-hark-pro.md)\n- [Caddy vs Talorys](https://www.anchorterminal.com/compare/caddy-app-vs-talorys.md)\n- [Claude Duet vs LearnHarness](https://www.anchorterminal.com/compare/claude-duet-vs-learnharness.md)\n- [CowAgent vs LearnHarness](https://www.anchorterminal.com/compare/cowagent-vs-learnharness.md)\n- [DeepTutor vs LearnHarness](https://www.anchorterminal.com/compare/deeptutor-vs-learnharness.md)\n- [Del vs LearnHarness](https://www.anchorterminal.com/compare/del-vs-learnharness.md)\n- [folk vs LearnHarness](https://www.anchorterminal.com/compare/folk-nozomio-vs-learnharness.md)\n- [GAIA vs LearnHarness](https://www.anchorterminal.com/compare/gaia-vs-learnharness.md)\n- [Gemini Spark vs LearnHarness](https://www.anchorterminal.com/compare/gemini-spark-vs-learnharness.md)\n- [Grok Bot vs LearnHarness](https://www.anchorterminal.com/compare/grok-bot-vs-learnharness.md)\n- [Hark Pro vs LearnHarness](https://www.anchorterminal.com/compare/hark-pro-vs-learnharness.md)\n- [Haven vs LearnHarness](https://www.anchorterminal.com/compare/haven-vs-learnharness.md)\n- [Hermes Agent vs LearnHarness](https://www.anchorterminal.com/compare/hermes-agent-vs-learnharness.md)\n- [HireAlpha vs LearnHarness](https://www.anchorterminal.com/compare/hirealpha-vs-learnharness.md)\n- [Instinct vs LearnHarness](https://www.anchorterminal.com/compare/instinct-vs-learnharness.md)\n- [IronClaw vs LearnHarness](https://www.anchorterminal.com/compare/ironclaw-vs-learnharness.md)\n- [LearnHarness vs Leon](https://www.anchorterminal.com/compare/learnharness-vs-leon.md)\n- [LearnHarness vs Lindy](https://www.anchorterminal.com/compare/learnharness-vs-lindy.md)\n- [LearnHarness vs Lobby](https://www.anchorterminal.com/compare/learnharness-vs-lobby-os.md)\n- [LearnHarness vs nanobot](https://www.anchorterminal.com/compare/learnharness-vs-nanobot.md)\n- [LearnHarness vs NanoClaw](https://www.anchorterminal.com/compare/learnharness-vs-nanoclaw.md)\n- [LearnHarness vs Natura tinyNature](https://www.anchorterminal.com/compare/learnharness-vs-natura.md)\n- [LearnHarness vs Dots](https://www.anchorterminal.com/compare/learnharness-vs-openai-dots.md)\n- [LearnHarness vs OpenClaw](https://www.anchorterminal.com/compare/learnharness-vs-openclaw.md)\n- [LearnHarness vs OpenDuet](https://www.anchorterminal.com/compare/learnharness-vs-openduet.md)\n- [LearnHarness vs OpenInstinct](https://www.anchorterminal.com/compare/learnharness-vs-openinstinct.md)\n- [LearnHarness vs Orbits](https://www.anchorterminal.com/compare/learnharness-vs-orbits.md)\n- [LearnHarness vs Orchid](https://www.anchorterminal.com/compare/learnharness-vs-orchid-ai.md)\n- [LearnHarness vs Pally](https://www.anchorterminal.com/compare/learnharness-vs-pally.md)\n- [LearnHarness vs PicoClaw](https://www.anchorterminal.com/compare/learnharness-vs-picoclaw.md)\n- [LearnHarness vs Poke](https://www.anchorterminal.com/compare/learnharness-vs-poke.md)\n- [LearnHarness vs QwenPaw](https://www.anchorterminal.com/compare/learnharness-vs-qwenpaw.md)\n- [LearnHarness vs szn](https://www.anchorterminal.com/compare/learnharness-vs-szn.md)\n- [LearnHarness vs Tab](https://www.anchorterminal.com/compare/learnharness-vs-tab-bot.md)\n- [LearnHarness vs Talorys](https://www.anchorterminal.com/compare/learnharness-vs-talorys.md)\n- [LearnHarness vs Tasker AI](https://www.anchorterminal.com/compare/learnharness-vs-tasker-ai.md)\n- [LearnHarness vs Tomo](https://www.anchorterminal.com/compare/learnharness-vs-tomo.md)\n- [LearnHarness vs Town](https://www.anchorterminal.com/compare/learnharness-vs-town.md)\n- [LearnHarness vs Wajo (Fo)](https://www.anchorterminal.com/compare/learnharness-vs-wajo.md)\n- [LearnHarness vs Zapia](https://www.anchorterminal.com/compare/learnharness-vs-zapia.md)\n- [LearnHarness vs ZeroClaw](https://www.anchorterminal.com/compare/learnharness-vs-zeroclaw.md)\n- [LearnHarness vs Zo Computer](https://www.anchorterminal.com/compare/learnharness-vs-zo-computer.md)\n- [Caddy vs Natura tinyNature](https://www.anchorterminal.com/compare/caddy-app-vs-natura.md)\n- [Caddy vs Pally](https://www.anchorterminal.com/compare/caddy-app-vs-pally.md)\n- [Caddy vs Tomo](https://www.anchorterminal.com/compare/caddy-app-vs-tomo.md)\n- [Caddy vs Wajo (Fo)](https://www.anchorterminal.com/compare/caddy-app-vs-wajo.md)\n- [AstrBot vs LearnHarness](https://www.anchorterminal.com/compare/astrbot-vs-learnharness.md)\n\n## Disclosure\n\n- Caddy competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.\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-10-31",
    "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": "Caddy vs LearnHarness",
        "url": ""
      }
    ],
    "description": "LearnHarness scores 59.3 (C) to Caddy's 16.7 (F) for assistants that remember you. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Caddy F 16.7",
      "LearnHarness C 59.3",
      "scores"
    ],
    "h1": "Caddy vs LearnHarness",
    "image": "https://www.anchorterminal.com/assets/og/compare-caddy-app-vs-learnharness.png",
    "path": "/compare/caddy-app-vs-learnharness",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Caddy vs LearnHarness for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/caddy-app-vs-learnharness"
  },
  "tokens": {
    "markdown": 3900,
    "slim": 630
  },
  "version": 1
}
