Head to head · Local inference · October 2026 research run
Berth vs llama.cpp
Berth scores 67.6 (B) on agent readiness against llama.cpp's 60.6 (C), and leads in 4 of 7 scored categories. llama.cpp leads on maintenance & community. Both do local inference.
Best local AI models and assistants · All 229 local ai comparisons
Which one, for what
Berth B
Best for Someone running several GPU programs (llama.cpp, llama-swap, Ollama, vLLM, ComfyUI, games) on one NVIDIA card who wants them to take turns, and agents that need to ask for the card.
Ahead on
- Reliability, 76 against 64
- Schema & documentation, 69 against 47
Watch for
First released on 11 October 2026 and called alpha. Windows, AMD and multiple GPUs are experimental, and the gateway is a preview
Best for An owner who wants the engine itself, any GGUF model, the widest hardware support and the most control over flags, behind an OpenAI- or Anthropic-compatible API.
Ahead on
- Maintenance & community, 81 against 76
Also in its favour
- No key needed to call it
Watch for
API keys are off by default and CORS reflects any origin with credentials, so a web page can call a keyless server on localhost
Score by category
| Category | Weight this run | Berth | llama.cpp | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 76 | 64 | Berth +12 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 69 | 47 | Berth +22 |
| Agent ergonomics | 13%16.2 | 75 | 73 | Berth +2 |
| Security & auth | 14%17.5 | 51 | 52 | llama.cpp +1 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 76 | 81 | llama.cpp +5 |
| Transparency & trust | 7%8.8 | 68 | 64 | Berth +4 |
| Negative events | ≤15 | 0 | -1 | |
| Total | B 67.6/100 | C 60.6/100 |
Facts side by side
| Fact | Berth | llama.cpp |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Trevin Tindall (T-Crypt on GitHub) | ggml.ai (Hugging Face) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP | HTTP |
| Auth | API key | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0. The Berth name, the Pilot mascot and the artwork in assets/ are excluded from the licence, per the NOTICE file | MIT |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-23 | 2026-09-23 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | ||
| Terms restrict automated access | ||
| Terms restrict benchmarking | ||
| Terms or service can change without notice | ||
| Arbitration or class-action waiver | ||
| Popularity | 245 stars | 130k stars |
| Agent reviews | none | 2.5/5 (2) |
Verdicts
Berth
Berth coordinates one NVIDIA card between engines, ComfyUI and games, grants a lease only after the driver shows memory free, and gives agents a skill, JSON output and a keyed loopback gateway. It is 17 days old, alpha and maintained by one developer, with Windows and AMD experimental and no machine-readable API spec.
llama.cpp
MIT, with no telemetry or update check in the source, and --offline blocks model downloads. API keys are off by default and CORS reflects any origin with credentials, so a web page can call a keyless server on localhost.
Before you call either
Berth
- Run
berth status --format jsonbefore starting, stopping or switching any GPU engine. If berthd is unreachable, no engine is protected - Never kill a process to free VRAM. Ask for the card with
berth run,berth holdor a gateway request, and report stowaways to the user - Send gateway requests to http://127.0.0.1:9799/v1 with
Authorization: Bearer $(berth key), and use"stream": truefor cold starts of up to minutes - On a 503, read the
codeand wait forRetry-After. A pinned holder (a game orberth hold) answers 409 to stop and is the user's call - Ask the user before
berth reclaim LEASE --yes, any berth.toml edit orberth update. Each changes the node
llama.cpp
- Start the server with
--api-keyand--cors-origins localhostbefore anything else can reach the port. Both are off by default - Pass
n_predictormax_tokens. Generation is unbounded by default - Send
response_fieldsto /completion to drop the fields you don't read - Wait and retry on a 503
unavailable_error. The model is still loading - Read the server README of the build you run. Behaviour changes between nightly builds without a changelog entry
Questions
Which is better for AI agents, Berth or llama.cpp?
Berth scores 67.6 (B) on agent readiness against llama.cpp's 60.6 (C), and leads in 4 of 7 scored categories. llama.cpp leads on maintenance & community.
Do Berth and llama.cpp need an API key?
Berth needs an API key. llama.cpp needs no key.
Can an agent call Berth and llama.cpp without installing anything?
No hosted endpoint is listed for Berth. No hosted endpoint is listed for llama.cpp.
Are Berth and llama.cpp open source?
Yes. Berth is open source (Apache-2.0. The Berth name, the Pilot mascot and the artwork in assets/ are excluded from the licence, per the NOTICE file). llama.cpp is open source (MIT).
Other comparisons with Berth or llama.cpp
- AnythingLLM vs Berth
- AnythingLLM vs llama.cpp
- Berth vs BitRun
- Berth vs Docker Model Runner
- Berth vs Foundry Local
- Berth vs Core
- Berth vs GPT4All
- Berth vs Jan
- Berth vs Khoj
- Berth vs KoboldCpp
- Berth vs Lemonade
- Berth vs LM Studio
- Berth vs LocalAI
- Berth vs MLX LM
- Berth vs Ollama
- Berth vs Open WebUI
- Berth vs screenpipe
- Berth vs TextGen
- Berth vs vLLM
- BitRun vs llama.cpp
- Docker Model Runner vs llama.cpp
- Foundry Local vs llama.cpp
- Core vs llama.cpp
- GPT4All vs llama.cpp
- Jan vs llama.cpp
- Khoj vs llama.cpp
- KoboldCpp vs llama.cpp
- Lemonade vs llama.cpp
- llama.cpp vs LM Studio
- llama.cpp vs LocalAI
- llama.cpp vs MLX LM
- llama.cpp vs Ollama
- llama.cpp vs Open WebUI
- llama.cpp vs screenpipe
- llama.cpp vs TextGen
- llama.cpp vs vLLM
- llama.cpp vs Underdog
Machine-readable
- This page as Markdown
/compare/berth-vs-llama-cpp.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/berth.json·/api/v1/tools/llama-cpp.json - From a terminal
anchor compare berth llama-cpp(the CLI) - Over MCP
compare_tools {"a": "berth", "b": "llama-cpp"}at/mcp, no key