{
  "data": {
    "a": {
      "slug": "gpt4all",
      "name": "GPT4All",
      "vendor": "Nomic, Inc.",
      "vendorUrl": "https://www.nomic.ai/gpt4all",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Desktop app from Nomic that runs GGUF models on Windows, macOS and Linux through Nomic's fork of llama.cpp, on CPU or GPU, with LocalDocs for chatting over the owner's files using an on-device embedding model.",
      "url": "https://www.anchorterminal.com/tools/gpt4all",
      "markdownUrl": "https://www.anchorterminal.com/tools/gpt4all.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gpt4all.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gpt4all.json",
      "repo": "https://github.com/nomic-ai/gpt4all",
      "license": "MIT (app, backend and bindings). Models downloaded through the app carry their own licences",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "gpt4all"
        }
      ],
      "auth": "none",
      "authNotes": "The local API server has no authentication. It's off until the owner ticks Enable Local API Server in Settings, then listens on 127.0.0.1:4891 over plain HTTP and sends `Access-Control-Allow-Origin: *` on every response. Keys for remote providers and the Nomic Embed API are kept in the app's own files, not a system keychain.",
      "pricing": "free",
      "pricingNotes": "Free and MIT with nothing to buy. Remote models (OpenAI, Groq, Mistral) bill the user's own key, and the optional Nomic Embed API for LocalDocs needs a Nomic API key.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 77400,
        "npmWeekly": null,
        "pypiWeekly": 10957,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://docs.gpt4all.io",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "memory.search",
        "embed.text"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "no-key",
        "openai-compatible",
        "open-weights",
        "python"
      ],
      "lastRelease": "2025-02-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 36.2,
        "grade": "F",
        "agentReady": false,
        "rank": 825,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 17,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 41,
          "maintenance": 6,
          "payments": 60,
          "reliability": 56,
          "schema": 40,
          "security": 28,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-03"
        },
        "negative": -6,
        "negativeNotes": [
          "2026-06-26. Two security reports filed as public issues, unanswered, with no release since. #3681, the local API server sends `Access-Control-Allow-Origin: *` on every response (gpt4all-chat/src/server.cpp line 614) and has no authentication, so a web page open in the user's browser can call /v1/chat/completions while the server is on and read the answers, including LocalDocs snippets from the owner's files. #3682, the model catalogue and the fallback model download use plain http://gpt4all.io, and the app turns TLS certificate checks off on nine request sites. A host-header fix has sat unmerged on the mitigate-dns-rebind branch since 27 May 2025. Unfixed, with the server off by default, -6. https://github.com/nomic-ai/gpt4all/issues/3681; https://github.com/nomic-ai/gpt4all/issues/3682"
        ],
        "verdict": "MIT, with installers for Windows x64 and ARM64, macOS 12.6 or later and Linux, and published minimum and recommended hardware. No release since 24 February 2025 and no commit to main since 27 May 2025.",
        "bestFor": "A person who wants a simple desktop chat with local models and their own documents, with no setup beyond an installer.",
        "strengths": [
          "MIT, with installers for Windows x64 and ARM64, macOS 12.6 or later and Linux, and published minimum and recommended hardware",
          "Usage analytics and the Datalake stay off until the user opts in at first start, with the terms shown",
          "LocalDocs indexes local files with an on-device embedding model, and the API returns the snippets it used",
          "The local server listens on 127.0.0.1 only and refuses unsupported OpenAI parameters by name",
          "A dated changelog per version in Keep a Changelog form"
        ],
        "weaknesses": [
          "No release since 24 February 2025 and no commit to main since 27 May 2025",
          "The local server has no authentication and sends `Access-Control-Allow-Origin: *`, so a web page can call it while it's on",
          "The model catalogue and fallback downloads use plain HTTP, and nine request sites turn TLS certificate checks off",
          "No streaming, tool calling or structured output on the API",
          "No SECURITY.md or security.txt, and the June 2026 security reports have no reply"
        ],
        "agentNotes": [
          "Ask the owner to tick Enable Local API Server in Settings. Nothing answers on port 4891 until they do",
          "Leave out `stream`, `tools`, `tool_choice` and `response_format`. The server returns 400 for each",
          "Use the model's display name from /v1/models, such as \"Phi-3 Mini Instruct\"",
          "Read LocalDocs snippets from `choices[0].references`. Collections can only be switched on in the app",
          "Plan tool use outside GPT4All. Its API can't call tools"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36.2
          }
        ],
        "editorialScores": {
          "ergonomics": 41,
          "maintenance": 6,
          "payments": 60,
          "reliability": 56,
          "schema": 40,
          "security": 28,
          "transparency": 54
        },
        "provenanceScore": 58
      },
      "connect": {
        "install": "pip install gpt4all   # Python SDK. The desktop app, which runs the API server, installs from https://gpt4all.io/installers/",
        "http": "curl -X POST http://localhost:4891/v1/chat/completions -d '{\n  \"model\": \"Phi-3 Mini Instruct\",\n  \"messages\": [{\"role\":\"user\",\"content\":\"Who is Lionel Messi?\"}],\n  \"max_tokens\": 50,\n  \"temperature\": 0.28\n}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/gpt4all"
      },
      "sameCompany": [
        "nomic-embed"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "Nomic, Inc.",
        "domain": "nomic.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "https://www.nomic.ai/privacy",
        "statusPage": "",
        "changelog": "https://github.com/nomic-ai/gpt4all/blob/main/gpt4all-chat/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-03",
        "notes": [
          "`LICENSE.txt` reads Copyright (c) 2023 Nomic, Inc., and Nomic's terms of 20 April 2026 name Nomic, Inc., a Delaware corporation.",
          "Nomic's terms at nomic.ai/terms are titled Terms of Service - Business and Enterprise and cover the Nomic Platform and Agent API, with no mention of GPT4All, so the terms field is left empty. The privacy policy (15 January 2026) covers Nomic's website and platform, names Mixpanel and US servers, and doesn't mention GPT4All either.",
          "nomic.ai/.well-known/security.txt returns 404, and the repository has no SECURITY.md.",
          "Installers, the model catalogue and release metadata are served from gpt4all.io, and docs from docs.gpt4all.io. There's no hosted endpoint, and the API server runs on the owner's machine."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gpt4all.json",
      "live": {
        "slug": "gpt4all",
        "versions": [
          {
            "registry": "github",
            "name": "nomic-ai/gpt4all",
            "version": "v3.10.0",
            "released": "2025-02-25",
            "seenAt": "2026-10-08T16:14:52.035953201Z"
          },
          {
            "registry": "pypi",
            "name": "gpt4all",
            "version": "2.8.2",
            "released": "2024-08-14",
            "seenAt": "2026-10-08T16:14:51.848144818Z"
          }
        ],
        "githubStars": 77377,
        "pypiWeekly": 10592,
        "securityTxt": {
          "url": "https://nomic.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:55.419973485Z"
        },
        "domain": {
          "domain": "nomic.ai",
          "registered": "2021-10-22",
          "source": "https://rdap.identitydigital.services/rdap/domain/nomic.ai",
          "checkedAt": "2026-10-04T13:09:16.171290345Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/nomic-ai/gpt4all/main/gpt4all-chat/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-08T18:24:29.725233314Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5e4e4d883d6e"
          },
          {
            "url": "https://www.nomic.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:20.057365648Z",
            "changedAt": "2026-10-06T16:16:07.873015295Z",
            "fingerprint": "221b22e3ab3c"
          }
        ],
        "updatedAt": "2026-10-08T18:29:20.057365648Z"
      }
    },
    "answer": "TextGen scores 45.1 (E) on agent readiness against GPT4All's 36.2 (F), and leads in 4 of 7 scored categories. GPT4All leads on reliability and transparency \u0026 trust.",
    "b": {
      "slug": "text-generation-webui",
      "name": "TextGen",
      "vendor": "oobabooga",
      "vendorUrl": "https://github.com/oobabooga",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Open-source desktop and browser app for running language models on the owner's hardware, formerly text-generation-webui. With `--api` it serves an OpenAI and Anthropic-compatible local API with tool calling, vision, embeddings and image generation.",
      "url": "https://www.anchorterminal.com/tools/text-generation-webui",
      "markdownUrl": "https://www.anchorterminal.com/tools/text-generation-webui.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/text-generation-webui.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/text-generation-webui.json",
      "repo": "https://github.com/oobabooga/textgen",
      "license": "AGPL-3.0",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "api-key",
      "authNotes": "The API takes one optional key from `--api-key`, off by default, sent as `Authorization: Bearer` on the OpenAI routes and as `x-api-key` on `/v1/messages`. A second key from `--admin-key` guards model and LoRA loading, unloading and listing, and equals the API key when unset. Keys are set at launch, have no scopes and change only with a restart. Without `--listen` or `--public-api` the server binds 127.0.0.1, rejects other Host headers and limits CORS to localhost. The web UI has no login unless `--gradio-auth` is set.",
      "pricing": "free",
      "pricingNotes": "Free and AGPL-3.0, with no account, card or paid edition. Portable builds and source are on GitHub (checked 2026-10-08).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the docs folder or the API source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 47700,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://github.com/oobabooga/textgen/wiki",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "agent.mcp-client",
        "embed.text",
        "image.generate"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "account-free",
        "openai-compatible",
        "open-weights",
        "streaming",
        "mcp",
        "docker",
        "no-telemetry"
      ],
      "lastRelease": "2026-05-20",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 45.1,
        "grade": "E",
        "agentReady": false,
        "rank": 775,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 50,
          "maintenance": 24,
          "payments": 60,
          "reliability": 51,
          "schema": 61,
          "security": 40,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-03-18. Two Critical advisories at 9.1. GHSA-jg96-p5p6-q3cv (CVE-2026-35050) let a user of the web UI write Python files through a path traversal in extension settings and run them, in 4.1 and earlier, fixed in 4.1.1. GHSA-4p45-76cc-7p62 let a caller write or delete files through a character name on instances started with `--listen`, fixed in 4.0. Both fixed and published, -2. https://github.com/oobabooga/textgen/security/advisories/GHSA-jg96-p5p6-q3cv",
          "2026-03-18. GHSA-fpwc-4mvr-7jpr (High, 7.1). `/v1/chat/completions` and `/v1/completions` fetched any `image_url` from the server side, so a caller could reach internal addresses, in 4.1 and earlier. Fixed in 4.1.1 and published, -1. https://github.com/oobabooga/textgen/security/advisories/GHSA-fpwc-4mvr-7jpr",
          "2025-10-13 to 2026-04-03. Seven more advisories in the year, four High and three Moderate, among them a file read through an uploaded symbolic link, four path traversals in preset, grammar, template and prompt loading, an SSRF in the superbooga extensions and a Gradio path-check bypass fixed in 4.3. All published with fixes, -1. https://github.com/oobabooga/textgen/security"
        ],
        "verdict": "AGPL-3.0 with no telemetry, and a local API on 127.0.0.1:5000 that checks the Host header, limits CORS to localhost and separates an admin key from the caller's key. No release since v4.9 on 20 May 2026, no code commits since 31 May, no test suite, and ten security advisories in the year, all fixed.",
        "bestFor": "A person who wants one app for several backends (llama.cpp, ExLlamaV3, Transformers) with an OpenAI and Anthropic-compatible endpoint, LoRA training and image generation.",
        "strengths": [
          "AGPL-3.0, with analytics switched off in the source and a README that states zero telemetry",
          "One server answers `/v1/chat/completions`, `/v1/completions` and Anthropic's `/v1/messages`, with tool calling and streaming",
          "Since v4.9 the API rejects Host headers other than localhost and 127.0.0.1 and limits CORS to localhost unless `--listen` or `--public-api` is set",
          "A separate `--admin-key` guards model and LoRA loading, apart from the `--api-key` callers use",
          "Ten security advisories published on GitHub with patched versions named, the newest on 3 April 2026"
        ],
        "weaknesses": [
          "No release since v4.9 on 20 May 2026 and no code commit on `main` or `dev` since 31 May 2026",
          "No test suite. The seven GitHub workflows only build release packages on manual dispatch",
          "807 open issues and 40 open pull requests, with no SECURITY.md or disclosure address",
          "Two Critical advisories (9.1) published on 18 March 2026, both path traversals in the web UI, fixed in 4.0 and 4.1.1",
          "The API key is off by default, set only at launch, and has no scopes or per-client keys",
          "No rate limits, error list or published OpenAPI file in the docs. The schema is served only by a running server at `/docs`"
        ],
        "agentNotes": [
          "Ask the owner to launch with `--api`. Nothing listens on port 5000 without it, and a model must be loaded first",
          "Call `http://127.0.0.1:5000/v1`. Any Host header other than localhost or 127.0.0.1 gets 400 `Invalid host header` unless `--listen` is set",
          "Send the key as `Authorization: Bearer` on OpenAI routes and as `x-api-key` on `/v1/messages`. Model loading needs the admin key",
          "Read `http://127.0.0.1:5000/docs` or `modules/api/typing.py` for parameters. `max_tokens` defaults to 512 on chat completions",
          "Run tool calls yourself. The API returns `finish_reason: \"tool_calls\"` and executes nothing on the server",
          "Use the repository name `oobabooga/textgen`. The old `text-generation-webui` URL redirects"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 45.1
          }
        ],
        "editorialScores": {
          "ergonomics": 50,
          "maintenance": 24,
          "payments": 60,
          "reliability": 51,
          "schema": 61,
          "security": 40,
          "transparency": 70
        },
        "provenanceScore": 27
      },
      "connect": {
        "install": "git clone https://github.com/oobabooga/textgen\ncd textgen\npython -m venv venv\nsource venv/bin/activate\npip install -r requirements/portable/requirements.txt --upgrade\npython server.py --portable --api --auto-launch",
        "http": "curl http://127.0.0.1:5000/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}], \"temperature\": 0.6, \"top_p\": 0.95, \"top_k\": 20}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/text-generation-webui"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "",
        "domain": "github.com/oobabooga",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/oobabooga/textgen/releases",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The project belongs to a developer who publishes as oobabooga. The LICENSE is the AGPL-3.0 text and names no legal entity, and the README acknowledges a grant from Andreessen Horowitz in August 2023.",
          "No vendor domain. The README links only the GitHub repository, its wiki, a subreddit, a Substack and a Hugging Face space.",
          "No terms of use and no privacy policy were found in the repository, the README or the wiki, so both fields are left out. The README states zero telemetry.",
          "No SECURITY.md (the Security tab says none is set up) and no security.txt of the project's own.",
          "There's no hosted endpoint. The API answers on the owner's machine, at 127.0.0.1:5000 by default."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/text-generation-webui.json"
    },
    "facts": [
      {
        "a": "Model platform",
        "b": "Model platform",
        "name": "Kind"
      },
      {
        "a": "Nomic, Inc.",
        "b": "oobabooga",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (app, backend and bindings). Models downloaded through the app carry their own licences",
        "b": "AGPL-3.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2025-02-24",
        "b": "2026-05-20",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-01-15",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "77k stars, 11k PyPI/wk",
        "b": "48k stars",
        "name": "Popularity"
      },
      {
        "a": "1/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "TextGen scores 45.1 (E) on agent readiness against GPT4All's 36.2 (F), and leads in 4 of 7 scored categories. GPT4All leads on reliability and transparency \u0026 trust.",
        "question": "Which is better for AI agents, GPT4All or TextGen?"
      },
      {
        "answer": "Yes. GPT4All is open source (MIT (app, backend and bindings). Models downloaded through the app carry their own licences). TextGen is open source (AGPL-3.0).",
        "question": "Are GPT4All and TextGen open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 56 against 51",
          "Transparency \u0026 trust, 56 against 49"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A person who wants a simple desktop chat with local models and their own documents, with no setup beyond an installer.",
        "slug": "gpt4all",
        "watchFor": "No release since 24 February 2025 and no commit to main since 27 May 2025"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 61 against 40",
          "Agent ergonomics, 50 against 41",
          "Security \u0026 auth, 40 against 28",
          "Maintenance \u0026 community, 24 against 6"
        ],
        "also": null,
        "goodFor": "A person who wants one app for several backends (llama.cpp, ExLlamaV3, Transformers) with an OpenAI and Anthropic-compatible endpoint, LoRA training and image generation.",
        "slug": "text-generation-webui",
        "watchFor": "No release since v4.9 on 20 May 2026 and no code commit on `main` or `dev` since 31 May 2026"
      }
    ],
    "job": {
      "capability": "inference.local",
      "name": "Local inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-gpt4all.json",
        "title": "AnythingLLM vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-text-generation-webui.json",
        "title": "AnythingLLM vs TextGen",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.json",
        "title": "Docker Model Runner vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-text-generation-webui.json",
        "title": "Docker Model Runner vs TextGen",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-gpt4all.json",
        "title": "Foundry Local vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-text-generation-webui.json",
        "title": "Foundry Local vs TextGen",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-gpt4all.json",
        "title": "Core vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-text-generation-webui.json",
        "title": "Core vs TextGen",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-jan.json",
        "title": "GPT4All vs Jan",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-jan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-khoj.json",
        "title": "GPT4All vs Khoj",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-koboldcpp.json",
        "title": "GPT4All vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-lemonade.json",
        "title": "GPT4All vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-llama-cpp.json",
        "title": "GPT4All vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio.json",
        "title": "GPT4All vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-localai.json",
        "title": "GPT4All vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-mlx-lm.json",
        "title": "GPT4All vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-ollama.json",
        "title": "GPT4All vs Ollama",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-open-webui.json",
        "title": "GPT4All vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-screenpipe.json",
        "title": "GPT4All vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jan-vs-text-generation-webui.json",
        "title": "Jan vs TextGen",
        "url": "https://www.anchorterminal.com/compare/jan-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-text-generation-webui.json",
        "title": "Khoj vs TextGen",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-text-generation-webui.json",
        "title": "KoboldCpp vs TextGen",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-text-generation-webui.json",
        "title": "Lemonade vs TextGen",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llama-cpp-vs-text-generation-webui.json",
        "title": "llama.cpp vs TextGen",
        "url": "https://www.anchorterminal.com/compare/llama-cpp-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lm-studio-vs-text-generation-webui.json",
        "title": "LM Studio vs TextGen",
        "url": "https://www.anchorterminal.com/compare/lm-studio-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localai-vs-text-generation-webui.json",
        "title": "LocalAI vs TextGen",
        "url": "https://www.anchorterminal.com/compare/localai-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mlx-lm-vs-text-generation-webui.json",
        "title": "MLX LM vs TextGen",
        "url": "https://www.anchorterminal.com/compare/mlx-lm-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ollama-vs-text-generation-webui.json",
        "title": "Ollama vs TextGen",
        "url": "https://www.anchorterminal.com/compare/ollama-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/open-webui-vs-text-generation-webui.json",
        "title": "Open WebUI vs TextGen",
        "url": "https://www.anchorterminal.com/compare/open-webui-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/screenpipe-vs-text-generation-webui.json",
        "title": "screenpipe vs TextGen",
        "url": "https://www.anchorterminal.com/compare/screenpipe-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-underdog.json",
        "title": "GPT4All vs Underdog",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/text-generation-webui-vs-underdog.json",
        "title": "TextGen vs Underdog",
        "url": "https://www.anchorterminal.com/compare/text-generation-webui-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-localghost.json",
        "title": "GPT4All vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-localghost"
      }
    ],
    "scores": [
      {
        "by": 5,
        "edge": "gpt4all",
        "gpt4all": 56,
        "key": "reliability",
        "name": "Reliability",
        "text-generation-webui": 51,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "text-generation-webui",
        "gpt4all": 40,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "text-generation-webui": 61,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "text-generation-webui",
        "gpt4all": 41,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "text-generation-webui": 50,
        "weight": 13
      },
      {
        "by": 12,
        "edge": "text-generation-webui",
        "gpt4all": 28,
        "key": "security",
        "name": "Security \u0026 auth",
        "text-generation-webui": 40,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "gpt4all": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "text-generation-webui": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "edge": "text-generation-webui",
        "gpt4all": 6,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "text-generation-webui": 24,
        "weight": 7
      },
      {
        "by": 7,
        "edge": "gpt4all",
        "gpt4all": 56,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "text-generation-webui": 49,
        "weight": 7
      }
    ],
    "summary": "TextGen scores 45.1 (E) on agent readiness against GPT4All's 36.2 (F), and leads in 4 of 7 scored categories. GPT4All leads on reliability and transparency \u0026 trust. Both do local inference.",
    "verdicts": {
      "gpt4all": "MIT, with installers for Windows x64 and ARM64, macOS 12.6 or later and Linux, and published minimum and recommended hardware. No release since 24 February 2025 and no commit to main since 27 May 2025.",
      "text-generation-webui": "AGPL-3.0 with no telemetry, and a local API on 127.0.0.1:5000 that checks the Host header, limits CORS to localhost and separates an admin key from the caller's key. No release since v4.9 on 20 May 2026, no code commits since 31 May, no test suite, and ten security advisories in the year, all fixed."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/gpt4all-vs-text-generation-webui",
    "json": "https://www.anchorterminal.com/compare/gpt4all-vs-text-generation-webui.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gpt4all-vs-text-generation-webui.md",
    "slim": "https://www.anchorterminal.com/compare/gpt4all-vs-text-generation-webui.min.md"
  },
  "markdown": "TextGen scores 45.1 (E) on agent readiness against GPT4All's 36.2 (F), and leads in 4 of 7 scored categories. GPT4All leads on reliability and transparency \u0026 trust. Both do local inference.\n\n- GPT4All: grade F, 36.2/100, rank #825 of 842. Markdown https://www.anchorterminal.com/tools/gpt4all.md · JSON https://www.anchorterminal.com/api/v1/tools/gpt4all.json\n- TextGen: grade E, 45.1/100, rank #775 of 842. Markdown https://www.anchorterminal.com/tools/text-generation-webui.md · JSON https://www.anchorterminal.com/api/v1/tools/text-generation-webui.json\n\n## Which one, for what\n\n### GPT4All (F)\n\nGood for: A person who wants a simple desktop chat with local models and their own documents, with no setup beyond an installer.\n\nAhead on:\n- Reliability, 56 against 51\n- Transparency \u0026 trust, 56 against 49\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: No release since 24 February 2025 and no commit to main since 27 May 2025\n\n### TextGen (E)\n\nGood for: A person who wants one app for several backends (llama.cpp, ExLlamaV3, Transformers) with an OpenAI and Anthropic-compatible endpoint, LoRA training and image generation.\n\nAhead on:\n- Schema \u0026 documentation, 61 against 40\n- Agent ergonomics, 50 against 41\n- Security \u0026 auth, 40 against 28\n- Maintenance \u0026 community, 24 against 6\n\nWatch for: No release since v4.9 on 20 May 2026 and no code commit on `main` or `dev` since 31 May 2026\n\n\n## Score by category\n\n| Category | Weight | GPT4All | TextGen | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 56 | 51 | GPT4All +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 40 | 61 | TextGen +21 |\n| Agent ergonomics | 13% (16.2 this run) | 41 | 50 | TextGen +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 28 | 40 | TextGen +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 6 | 24 | TextGen +18 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 56 | 49 | GPT4All +7 |\n| Negative events | ≤15 | -6 | -4 | |\n| **Total** | | **36.2 · F** | **45.1 · E** | |\n\n## Facts side by side\n\n| Fact | GPT4All | TextGen |\n| --- | --- | --- |\n| Kind | Model platform | Model platform |\n| Vendor | Nomic, Inc. | oobabooga |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT (app, backend and bindings). Models downloaded through the app carry their own licences | AGPL-3.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2025-02-24 | 2026-05-20 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | 2026-01-15 | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 77k stars, 11k PyPI/wk | 48k stars |\n| Agent reviews | 1/5 (2) | none |\n\n## Verdicts\n\n**GPT4All.** MIT, with installers for Windows x64 and ARM64, macOS 12.6 or later and Linux, and published minimum and recommended hardware. No release since 24 February 2025 and no commit to main since 27 May 2025.\n\n**TextGen.** AGPL-3.0 with no telemetry, and a local API on 127.0.0.1:5000 that checks the Host header, limits CORS to localhost and separates an admin key from the caller's key. No release since v4.9 on 20 May 2026, no code commits since 31 May, no test suite, and ten security advisories in the year, all fixed.\n\n## Before you call either\n\n### GPT4All\n\n1. Ask the owner to tick Enable Local API Server in Settings. Nothing answers on port 4891 until they do\n2. Leave out `stream`, `tools`, `tool_choice` and `response_format`. The server returns 400 for each\n3. Use the model's display name from /v1/models, such as \"Phi-3 Mini Instruct\"\n4. Read LocalDocs snippets from `choices[0].references`. Collections can only be switched on in the app\n5. Plan tool use outside GPT4All. Its API can't call tools\n\n### TextGen\n\n1. Ask the owner to launch with `--api`. Nothing listens on port 5000 without it, and a model must be loaded first\n2. Call `http://127.0.0.1:5000/v1`. Any Host header other than localhost or 127.0.0.1 gets 400 `Invalid host header` unless `--listen` is set\n3. Send the key as `Authorization: Bearer` on OpenAI routes and as `x-api-key` on `/v1/messages`. Model loading needs the admin key\n4. Read `http://127.0.0.1:5000/docs` or `modules/api/typing.py` for parameters. `max_tokens` defaults to 512 on chat completions\n5. Run tool calls yourself. The API returns `finish_reason: \"tool_calls\"` and executes nothing on the server\n6. Use the repository name `oobabooga/textgen`. The old `text-generation-webui` URL redirects\n\n## Questions\n\n### Which is better for AI agents, GPT4All or TextGen?\n\nTextGen scores 45.1 (E) on agent readiness against GPT4All's 36.2 (F), and leads in 4 of 7 scored categories. GPT4All leads on reliability and transparency \u0026 trust.\n\n### Are GPT4All and TextGen open source?\n\nYes. GPT4All is open source (MIT (app, backend and bindings). Models downloaded through the app carry their own licences). TextGen is open source (AGPL-3.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/gpt4all-vs-text-generation-webui.json, and with the fewest tokens: https://www.anchorterminal.com/compare/gpt4all-vs-text-generation-webui.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"gpt4all\", \"b\": \"text-generation-webui\"}`. From a terminal: `anchor compare gpt4all text-generation-webui`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/gpt4all.json and https://www.anchorterminal.com/api/v1/tools/text-generation-webui.json\n\n## Other comparisons with GPT4All or TextGen\n\n- [AnythingLLM vs GPT4All](https://www.anchorterminal.com/compare/anythingllm-vs-gpt4all.md)\n- [AnythingLLM vs TextGen](https://www.anchorterminal.com/compare/anythingllm-vs-text-generation-webui.md)\n- [Docker Model Runner vs GPT4All](https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.md)\n- [Docker Model Runner vs TextGen](https://www.anchorterminal.com/compare/docker-model-runner-vs-text-generation-webui.md)\n- [Foundry Local vs GPT4All](https://www.anchorterminal.com/compare/foundry-local-vs-gpt4all.md)\n- [Foundry Local vs TextGen](https://www.anchorterminal.com/compare/foundry-local-vs-text-generation-webui.md)\n- [Core vs GPT4All](https://www.anchorterminal.com/compare/ghost-core-vs-gpt4all.md)\n- [Core vs TextGen](https://www.anchorterminal.com/compare/ghost-core-vs-text-generation-webui.md)\n- [GPT4All vs Jan](https://www.anchorterminal.com/compare/gpt4all-vs-jan.md)\n- [GPT4All vs Khoj](https://www.anchorterminal.com/compare/gpt4all-vs-khoj.md)\n- [GPT4All vs KoboldCpp](https://www.anchorterminal.com/compare/gpt4all-vs-koboldcpp.md)\n- [GPT4All vs Lemonade](https://www.anchorterminal.com/compare/gpt4all-vs-lemonade.md)\n- [GPT4All vs llama.cpp](https://www.anchorterminal.com/compare/gpt4all-vs-llama-cpp.md)\n- [GPT4All vs LM Studio](https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio.md)\n- [GPT4All vs LocalAI](https://www.anchorterminal.com/compare/gpt4all-vs-localai.md)\n- [GPT4All vs MLX LM](https://www.anchorterminal.com/compare/gpt4all-vs-mlx-lm.md)\n- [GPT4All vs Ollama](https://www.anchorterminal.com/compare/gpt4all-vs-ollama.md)\n- [GPT4All vs Open WebUI](https://www.anchorterminal.com/compare/gpt4all-vs-open-webui.md)\n- [GPT4All vs screenpipe](https://www.anchorterminal.com/compare/gpt4all-vs-screenpipe.md)\n- [Jan vs TextGen](https://www.anchorterminal.com/compare/jan-vs-text-generation-webui.md)\n- [Khoj vs TextGen](https://www.anchorterminal.com/compare/khoj-vs-text-generation-webui.md)\n- [KoboldCpp vs TextGen](https://www.anchorterminal.com/compare/koboldcpp-vs-text-generation-webui.md)\n- [Lemonade vs TextGen](https://www.anchorterminal.com/compare/lemonade-vs-text-generation-webui.md)\n- [llama.cpp vs TextGen](https://www.anchorterminal.com/compare/llama-cpp-vs-text-generation-webui.md)\n- [LM Studio vs TextGen](https://www.anchorterminal.com/compare/lm-studio-vs-text-generation-webui.md)\n- [LocalAI vs TextGen](https://www.anchorterminal.com/compare/localai-vs-text-generation-webui.md)\n- [MLX LM vs TextGen](https://www.anchorterminal.com/compare/mlx-lm-vs-text-generation-webui.md)\n- [Ollama vs TextGen](https://www.anchorterminal.com/compare/ollama-vs-text-generation-webui.md)\n- [Open WebUI vs TextGen](https://www.anchorterminal.com/compare/open-webui-vs-text-generation-webui.md)\n- [screenpipe vs TextGen](https://www.anchorterminal.com/compare/screenpipe-vs-text-generation-webui.md)\n- [GPT4All vs Underdog](https://www.anchorterminal.com/compare/gpt4all-vs-underdog.md)\n- [TextGen vs Underdog](https://www.anchorterminal.com/compare/text-generation-webui-vs-underdog.md)\n- [GPT4All vs LocalGhost](https://www.anchorterminal.com/compare/gpt4all-vs-localghost.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "GPT4All vs TextGen",
        "url": ""
      }
    ],
    "description": "TextGen scores 45.1 (E) on agent readiness against GPT4All's 36.2 (F), and leads in 4 of 7 scored categories. GPT4All leads on reliability and transparency \u0026 trust. Both do local inference. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "GPT4All F 36.2",
      "TextGen E 45.1",
      "scores"
    ],
    "h1": "GPT4All vs TextGen",
    "image": "https://www.anchorterminal.com/assets/og/compare-gpt4all-vs-text-generation-webui.png",
    "path": "/compare/gpt4all-vs-text-generation-webui",
    "published": "2026-10-01",
    "section": "tools",
    "title": "GPT4All vs TextGen for AI agents, F 36.2 vs E 45.1 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/gpt4all-vs-text-generation-webui"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 580
  },
  "version": 1
}
