LibreChat alternatives are an operations decision, not a price decision: LibreChat is MIT-licensed and sells nothing, so the reasons to leave are the six services its official compose file runs, an AGPL-licensed admin panel inside an otherwise-MIT project, and the fact that it has no bulk export. Match the replacement to what you are willing to operate — Open WebUI for one container, Jan or Cherry Studio for a desktop app, LobeHub Cloud or AnythingLLM Cloud for hosted, TypingMind or Msty for a bought licence — and check the migration path before you move, because the export is the part that traps people.
Two things this page will not do. It will not tell you LibreChat is dying: ClickHouse announced the acquisition on November 4, 2025 and the GitHub API still shows danny-avila/LibreChat unarchived, MIT, 44,528 stars, last pushed September 21, 2026 (re-read September 21, 2026). And it will not rank the field on features, because nothing here was benchmarked.
Why people leave a client that costs nothing
The footprint. LibreChat's official docker-compose.yml defines six services: api, admin-panel, mongodb (mongo:8.0.20), meilisearch (v1.35.1), vectordb (pgvector 0.8.0 on Postgres 15) and rag_api. Those extra containers are what give it full-text conversation search and document retrieval, so this is a trade rather than bloat — but three of those services are datastores with their own volumes to back up and upgrade (MongoDB, Meilisearch and the pgvector Postgres), on top of the api container's own. Open WebUI's own schema reference describes a single SQLite file at data/webui.db carrying users, chat history and file storage. That is the real difference between the two deployments, and it is verifiable without running either.
The licence is not uniform. LibreChat is described everywhere as MIT, and the main repository is. The Admin Panel that ships as a service in that same compose file lives in a separate repository, LibreChat-AI/admin-panel, and the GitHub API reports its licence as AGPL-3.0 (146 stars, pushed September 15, 2026). The Admin Panel documentation carries no licence statement at all; it does say the panel runs as a separate service and that you can opt out by removing the admin-panel service or gating it behind a Compose profile. If your organisation reviews licences before deployment, that is the line to bring to them — and opting out is a change to the compose file, not a fork.
The acquisition, stated plainly. ClickHouse's follow-up post commits in writing that "LibreChat remains 100% open-source under its existing MIT license" and that "for existing LibreChat deployments: nothing changes". The same post is where the only commercial change appears: the paid LibreChat Code Interpreter API was announced for discontinuation "in its current form", with the timeline set "targeting May 1st, 2026". That date has passed, and the current Code Interpreter documentation describes an Apache-2.0 service you self-host, with no price. Whether the hosted API has actually stopped billing existing subscribers was not verified here — confirming it would have meant signing in to an account, which this research did not do.
Release cadence, with the disagreement shown. The changelog dates the current stable, v0.8.7, to June 23, 2026, while the GitHub releases API shows it published June 24, 2026 and flags it prerelease: true even though the changelog calls it stable — that flag is set on every release in the list, RC or not, so it does not distinguish them. Trust the changelog for stable-versus-RC status. The head of the release train is v0.8.8-rc3, published September 15, 2026.
Which alternative fits which reader
Sorted by what you have to operate. Licences and repository figures read from the GitHub API and each project's LICENSE file on September 19, 2026; stars are a measure of attention, not of installs or team adoption.
| Alternative | Shape | Licence | Pick it when |
|---|---|---|---|
| Open WebUI | Self-hosted, one container by default | Open WebUI License — BSD-3-Clause plus a branding clause since v0.6.6 | You want LibreChat's shape with a fraction of the operating surface, and bulk export matters |
| LobeHub (formerly LobeChat) | Self-host or a published cloud tier | LobeHub Community License — Apache-2.0 plus conditions | You want a hosted option from the same project you could otherwise self-host |
| AnythingLLM | Desktop app, Docker, or a published cloud tier | MIT | Documents and workspace-scoped retrieval are the actual job, not general chat |
| Jan | Desktop app; local and remote models side by side | Apache-2.0 (LICENSE header: Menlo Research) | One person, no server, and you want an explicit Anthropic-protocol option |
| Cherry Studio | Desktop app | AGPL-3.0, with a commercial exemption on request | You want a desktop client and AGPL is acceptable to your organisation |
| Chatbox Community Edition | Desktop app | GPL-3.0 | You want the lightest desktop client; see the pricing note before assuming free BYOK |
| TypingMind | Commercial, one-time licence | Proprietary | You would rather buy once than operate anything, and CORS to your endpoint tests clean |
| Msty Studio | Commercial desktop, free tier plus paid | Proprietary | You want a polished desktop product with a support relationship behind it |
| SillyTavern | Self-hosted, character-driven | AGPL-3.0 | Your use is roleplay and persona work — a different segment from team chat |
| big-AGI | Self-host, plus a hosted Pro tier | MIT | You want an MIT self-host and the hosted Pro tier is a side benefit rather than the reason |
| Chatbot UI | Dormant — not a destination | MIT | Never, in 2026. Last commit June 22, 2024; last push August 3, 2024. It survives here only as an import format |
One naming trap worth writing down: LobeChat was renamed LobeHub in a discussion opened by its founder on November 3, 2025, so pre-2.0 LobeChat tutorials and their environment-variable assumptions are obsolete. Kunavo's own LobeChat setup page still carries the old name. Cherry Studio's provider-settings documentation could not be loaded during this research, so its row in the next table is marked unverified rather than described; its licence terms below come from the repository README instead.
How each one takes your own key
This is where the alternatives actually differ, and it is the part a feature table misses. Each client in the table below documents a path for your own key and base URL, so the question is what that path will accept and what it gives up. Chatbox is the exception worth flagging early: its published plans sell bundled model access rather than the app, and its pricing page does not state whether the free tier accepts a custom endpoint.
| Client | Where the base URL and key go | Model list | Anthropic Messages on a custom base URL? |
|---|---|---|---|
| LibreChat | endpoints.custom[] in librechat.yaml: name, apiKey, baseURL | models.fetch: true populates the picker, or list models.default | Yes — provider: "anthropic", which the schema calls the value it currently supports |
| Open WebUI | Settings → Admin → Connections, or OPENAI_API_BASE_URL / OPENAI_API_KEY | GET /v1/models is marked "recommended"; otherwise type ids into the Model IDs field | Not documented — Anthropic detection is hostname-gated to api.anthropic.com; another hostname is not covered either way |
| Jan Desktop | Custom provider: Provider name, Base URL, API key (required even for local servers) | Queries {base_url}/models, otherwise add models manually | Yes — an explicit OpenAI-compatible / Anthropic-compatible choice |
| LobeHub | Settings → Language Model: provider API key plus an optional custom base URL; self-hosted builds use model-provider env vars | Per provider, in the same panel | Not documented on the provider page read here |
| AnythingLLM | "Generic OpenAI" provider: Base URL, API Key, Chat Model Name, Token Context Window, Max Tokens — all typed by hand | The chat model is a string you enter; no model-list fetch is documented | Not offered — the provider is documented as OpenAI-compatible only |
| TypingMind | Add Custom Models: Name, Endpoint and an Authorization header row you add by hand; the documented example endpoint is a full /chat/completions URL | Model ID typed per custom model | Not on the documented custom-model path |
| ChatWise | Custom OpenAI-compatible or Anthropic-compatible provider: key plus endpoint | Fetch or type model ids, then set capabilities | Yes, per its custom-provider options |
| Cherry Studio, Chatbox, Msty Studio | Provider documentation for these three could not be read during this research. Nothing is claimed here about their base-URL fields, model lists or protocol support — confirm in the app before you commit to one | ||
Sources for that table, read September 19 and re-checked September 21, 2026: LibreChat's custom endpoint schema, Open WebUI's OpenAI-compatible provider guide and its Anthropic page, Jan's custom endpoint page, LobeHub's provider docs, AnythingLLM's Generic OpenAI page, which opens with its own warning that the provider is developer-focused and highly configurable, ChatWise's custom-provider page, and TypingMind's worked custom-model walkthrough.
Three boundaries worth carrying into the decision. First, LibreChat appends the completions path to your baseURL unless you set directEndpoint: true, so a base URL that is already the full completions endpoint needs that flag. Second, a custom base URL in LibreChat is not switched to the OpenAI Responses API automatically: LibreChat's OpenAI page says outright that Azure OpenAI, OpenRouter and custom or reverse-proxy base URLs are not switched automatically, so plan on Chat Completions unless you have confirmed otherwise in your own deployment. Third, agent tools — code interpreter, file search, file context, web search, MCP, OpenAPI actions and utilities, per the agents documentation — are the capability list to check against whichever client you move to, because the names and scopes are LibreChat's own. That documentation does not state what happens on a model that cannot call tools, so do not assume either a fallback or a hard failure.
One capability with no counterpart in any documentation read for this page, and the strongest argument for staying: LibreChat can price and meter your custom endpoint per model. Per the token-usage documentation, tokenConfig takes prompt, completion and context per model, with optional cacheRead and cacheWrite for providers that report cached input usage, expressed as per-million-token rates; for agents that use multiple endpoints, LibreChat uses the matching endpoint and model token config when recording usage and cost. Pair it with the balance object on the same page — enabled, startBalance, autoRefillEnabled, refillIntervalValue, refillIntervalUnit, refillAmount, which replaced the older CHECK_BALANCE and START_BALANCE environment variables — and you have per-user credit control inside the client. Rebuilding that elsewhere is real work.
version: 1.3.16
endpoints:
custom:
# The escape hatch a plain OpenAI-compatible client does not have:
# provider: anthropic sends the NATIVE Messages request to your own
# baseURL. Point baseURL at the API root, not at /v1/messages.
- name: "Kunavo (Anthropic protocol)"
apiKey: "${KUNAVO_API_KEY}"
baseURL: "https://api.kunavo.com"
provider: "anthropic"
models:
# models.fetch is NOT used for a native Anthropic custom endpoint,
# so the picker is exactly what you list here.
default: ["claude-sonnet-4-6", "claude-opus-5", "claude-haiku-4-5"]
titleConvo: true
titleModel: "claude-haiku-4-5"
# Without tokenConfig, LibreChat's cost breakdowns, balance
# transactions and agent billing have no rates for these models.
tokenConfig:
claude-sonnet-4-6:
prompt: 1.2
completion: 6
context: 1000000
claude-haiku-4-5:
prompt: 0.4
completion: 2
context: 200000That configuration is a published reference shape, not a compatibility test. Kunavo has not runtime-tested LibreChat or any client on this page against its endpoint; every behaviour above comes from the project's own documentation. Validate it in a staging deployment before you rely on it.
What migrates, and what you rebuild by hand
The export asymmetry is the whole migration story. LibreChat's own documentation states that "there is no built-in bulk export of every conversation at once". Export is per conversation, from the Export and Share menu, in md, txt, json, csv or screenshot; only json and csv carry all message branches, and a brand-new conversation or a search-results view has nothing to export, so the menu does not appear for it. Import, under Settings → Data Controls, accepts exactly three sources: ChatGPT, Claude and ChatbotUI v1.
Open WebUI goes the other way: Settings → Data Controls → Export Chats downloads every conversation as one JSON file, and Import Chats accepts its own native JSON, ChatGPT archives it auto-detects and converts, and custom JSON matching its documented structure. So you can leave Open WebUI in one click and leave LibreChat one conversation at a time. No official converter between the two formats was found, and an unofficial third-party importer that surfaced in search was not verified against LibreChat output — do not plan a migration around it.
| What you have in LibreChat | Does it move? | What to do |
|---|---|---|
| Conversation history | Partly, and by hand | Export the conversations you actually need as json, one at a time. Decide this before the cutover, not after |
| MongoDB contents as a whole | Not an import format for any client documented here | Keep the ./data-node store as an archive. It is your fallback, not a transfer format |
| Endpoint configuration | No | Retype base URL, key and model list in the new client; the YAML has no counterpart elsewhere |
tokenConfig rates and per-user balances | No | No equivalent per-model rate table or credit ledger appears in the documentation read for this page. Plan on your provider's own usage view instead |
| Agents, MCP servers, OpenAPI actions | No | Rebuild per client; capability names and scopes differ |
| Retrieval index (pgvector + RAG API) | No | Re-ingest the source documents in the new client. The embedding step is not something Kunavo serves — run it locally or against an outside provider |
| Users, roles, admin panel settings | No | Recreate accounts and roles. Check the new client's provisioning model before you promise it to a team |
Backup and rollback, in order. Copy what the official compose file actually persists before you change anything: MongoDB's store is the ./data-node bind mount, Meilisearch's is ./meili_data_v1.35.1, the vector database uses the named pgdata2 volume, and the api container has the named librechat-data volume plus ./uploads, ./images and ./logs. Take librechat.yaml and .env with them. Bring the replacement up on a different port and leave the LibreChat stack running — both are containers, and running them side by side for a week costs only host resources. Export the conversations that matter, import what the new client will take, and use the new one for real work before you decommission anything. Delete the old stores only once you have re-read a sample of the imported conversations and confirmed the content survived. If the new client cannot take a format you need, the old stack is still up, which is the entire point of doing it in this order.
What each one costs, and what you actually pay
Published prices, read September 19 and re-checked September 21, 2026. Two of these carry discount banners; where a page showed a struck-through figure, both numbers are printed. None of the self-hosted figures include your host, and no hosting bill was verified for anyone on this page — price your own host from the container count above.
| Product | Published price | What it buys |
|---|---|---|
| LibreChat, self-hosted | $0 | MIT licensed. No subscriptions, no restrictions. You pay for the model API and a host for six containers |
| Open WebUI, self-hosted | $0 | Free to run. Branding may not be altered, except for deployments of 50 or fewer users in a 30-day period, substantive contributors with specific prior written permission, or enterprise licensees whose licence allows branding changes |
| Open WebUI Enterprise | No published price — contact sales | White-labeling, rebranding and enterprise-exclusive offerings. Third-party figures circulate; none appears on an official page, so none is printed here |
| LobeHub Cloud | Free $0 · Starter $9.9/mo or $118.8/yr · Premium $19.9/mo or $238.8/yr · Ultimate $39.9/mo or $478.8/yr | Monthly credit allowances (500k / 5M / 15M / 35M), storage and vector-entry limits per tier |
| LobeHub commercial derivative | Contact the maintainers | Running it unmodified as a service is allowed; distributing a modified derivative requires a commercial licence — the clearest licence gap against LibreChat's MIT |
| AnythingLLM | Desktop and self-hosted Docker free · Cloud Basic $50/mo · Cloud Pro $99/mo · Enterprise contact | Both cloud tiers list a private instance, and Basic also lists a custom subdomain; the cloud page says to bring an LLM API key |
| Jan | Free | Apache-2.0; jan.ai publishes no pricing page. You pay the model API when using remote providers |
| Msty Studio | Free $0 · Aurum $149/year · Aurum Lifetime $349 one-time · Teams custom, minimum 5 seats | Aurum unlocks Studio Web and the advanced feature set. Msty Go is a free beta; Nexus pricing lives on a separate site not read here |
| TypingMind | Standard $39 · Extended $79 · Premium $99 (shown struck from $198) · Bulk $395 (struck from $790), all one-time | The licence buys the client only — "$39 once + pay per API use". Read while a "50% OFF" banner was displayed, so treat these as the price shown on the date, not a permanent one |
| ChatWise | Free $0 · Pro $29 one-time (shown struck from $49) | Pro is described as pay once with one year of pro feature updates, plus a 7-day trial. Read with a discount banner displayed |
| Chatbox AI | Free $0 · Lite $3.50/mo annual or $3.99 monthly · Pro $16.70 or $19.99 · Pro+ $33.33 or $39.99 | These plans buy Chatbox's own bundled model access in compute points, not the app. The page defines compute points as covering model chats, web search and document analysis, so they are not a token count and do not map onto a per-million-token rate. Whether the free tier permits a custom OpenAI-compatible endpoint is not stated on that page |
| Cherry Studio | Free | AGPL-3.0; commercial use permitted under AGPL compliance, with an exemption available by contacting the maintainers |
| big-AGI | Free $0/mo · Pro $9/mo, billed $108/year · Business contact | Pro adds cloud backup, multi-device sync and priority access. The README still quotes $10.99/mo, so take the pricing page as current and the README as stale. The self-hosted MIT build is free |
Anything a reseller charges is not the project's price. One-click deploys on marketplace and PaaS listings carry their own hosting fees, and a marketplace VM image titled "LibreChat" is published by a third party rather than by the project — that listing could not be read during this research, and its fee would be the vendor's in any case.
The model bill follows your key, not your client
When you run a client on your own key, switching clients does not change token costs — the exceptions above are the tiers that sell bundled model access instead, LobeHub Cloud's credits and Chatbox's compute points, where the client and the model bill are the same purchase. What follows is illustrative token arithmetic, not a measured cost and not a bill ceiling. Assume one person, one month: 600,000 uncached input tokens and 60,000 output tokens. Rates come from the live Kunavo catalog, per million tokens.
| Model | Input / output per 1M | Estimate, one person-month |
|---|---|---|
| Claude Haiku 4.5 | $0.40 / $2.00 | $0.36 |
| Gemini 3.8 Flash | $0.525 / $2.625 | $0.47 |
| GPT-5.6 Terra | $0.70 / $4.20 | $0.67 |
| Claude Sonnet 4.6 | $1.20 / $6.00 | $1.08 |
| Claude Opus 5 | $2.00 / $10.00 | $1.80 |
One setting moves this more than the client choice does. LibreChat's titleModel pins which model writes conversation titles, and titles are high-volume, low-value traffic. Assume 200 new conversations a month at 1,200 input and 40 output tokens each: on Claude Sonnet 4.6 that background work estimates at $0.34, against $0.11 on Claude Haiku 4.5 — for output nobody reads closely. Clients without a title-model setting bill that traffic at whatever your main model costs.
Kunavo's catalog amount is a billing floor rather than a cap: when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup. Cache charges and external tools sit outside this example, and the retrieval step in a RAG-capable client is not covered either — Kunavo serves no embedding model, so that runs locally or against an outside provider. The minimum top-up is $10 in prepaid credit, which is a funding minimum rather than a subscription or a task fee; see billing details.
Where to go next
If Open WebUI is your shortlist, LibreChat vs Open WebUI compares the two on setup friction specifically, and the Open WebUI setup page has the connection values. If documents are the job, AnythingLLM vs Open WebUI covers that pair. For desktop clients, Kunavo publishes setup pages for Cherry Studio and Chatbox; for roleplay, see SillyTavern and the API comparison for it. The protocol references are the OpenAI-compatible endpoint and the Anthropic base URL, which is what LibreChat's provider: anthropic route needs. Every one of those is published configuration, not a compatibility test. Create a Kunavo account when you have picked a client and want a key to test it with.
Choosing the endpoint rather than the client? OpenAI-compatible API and OpenRouter alternatives cover that decision, and AI cost optimization covers the method for measuring a real bill rather than estimating one.
FAQ
What is the best LibreChat alternative?
There is no single winner, because LibreChat is free and the reasons to leave it are operational. If you want the same self-hosted, multi-provider shape with far less to run, Open WebUI is the closest match: LibreChat's official docker-compose defines six services, while Open WebUI's default storage is one internal SQLite file. If you want a desktop app and no server at all, Jan (Apache-2.0), Cherry Studio (AGPL-3.0) and Chatbox Community Edition (GPL-3.0) are open-source options whose repositories are still active. If you want someone else to operate it, LobeHub Cloud and AnythingLLM Cloud publish prices. If you want to buy once and operate nothing, TypingMind and Msty sell licences. Pick on what you are willing to run and on licence terms, not on a feature checklist.
Is LibreChat still free after the ClickHouse acquisition?
Yes, on the record. ClickHouse announced the acquisition on November 4, 2025 and wrote that “LibreChat remains 100% open-source under its existing MIT license” and that “for existing LibreChat deployments: nothing changes.” librechat.ai/about still says “MIT licensed. No subscriptions, no restrictions.” One commercial thing did change: LibreChat's own paid Code Interpreter API was announced for discontinuation in its current form, with a timeline targeting May 1, 2026, and today's documentation describes the Code Interpreter as an Apache-2.0 service you self-host. Whether that hosted API has actually stopped billing its subscribers was not verified, because checking would have required signing in.
Which LibreChat alternative is easiest to self-host?
Open WebUI, measured by what has to run rather than by feature count. LibreChat's official docker-compose.yml defines six services: the api container, the admin panel, MongoDB 8.0, Meilisearch, a pgvector Postgres and the RAG API. Open WebUI's documentation describes a SQLite file at data/webui.db as the backbone for users, chat history and file storage, so a single container is the normal deployment. That is a real difference in backup surface and upgrade risk, not a marketing distinction. It is also a genuine trade: LibreChat's extra services are what power its full-text search and its document retrieval.
Can I export all my LibreChat conversations at once?
No. LibreChat's own documentation states there is no built-in bulk export of every conversation at once. Export is per conversation, from the Export and Share menu, in md, txt, json, csv or screenshot form, and the “export all message branches” option applies only to json and csv. A brand-new conversation or a search-results view has nothing to export, so the menu does not appear for those. This is the single hardest fact in any migration off LibreChat, and it is worth knowing before you start rather than after. Open WebUI, by contrast, exports every conversation as one JSON file from Settings then Data Controls.
Can I import my old chats into LibreChat or a replacement?
LibreChat imports from exactly three sources, under Settings then Data Controls: ChatGPT, Claude, and ChatbotUI v1. An Open WebUI export is not one of them, so a move in that direction has no documented import path. Open WebUI's import accepts its own native JSON, ChatGPT archives, which it auto-detects and converts, and custom JSON matching its expected structure. The asymmetry is the practical point: leaving Open WebUI is one file, and leaving LibreChat is a conversation at a time. No official converter between the two formats was found, and an unofficial third-party importer surfaced in search was not verified against LibreChat output.
Is Chatbot UI still a good LibreChat alternative?
No, and it appears in listicles for this query anyway. The mckaywrigley/chatbot-ui repository is MIT and not archived, but the GitHub API shows the last push on August 3, 2024 and the last commit to main on June 22, 2024 — over two years without a change, read on September 19, 2026. Treat it as dormant rather than as a destination. It still matters in one narrow way: ChatbotUI v1 is one of the three formats LibreChat's importer accepts, so an old Chatbot UI export is portable into LibreChat even though the project itself is not a live option.
Which alternative keeps the Anthropic Messages protocol with a custom base URL?
LibreChat itself, Jan, and ChatWise. LibreChat's custom endpoint schema documents a provider field and says it “currently supports anthropic”; it routes the endpoint through the native Anthropic client and calls /v1/messages on your own baseURL. The cost is that OpenAI-style model fetching is not used for that endpoint, so models are listed by hand. Jan's custom-provider form has an explicit API-format choice of OpenAI-compatible or Anthropic-compatible, and ChatWise's custom-provider documentation describes the same pair. Open WebUI is the weaker carrier here: its documentation says it detects Anthropic URLs by hostname — any URL containing api.anthropic.com — and handles model discovery for those. What it does with an Anthropic-compatible endpoint on a different hostname is not documented, so treat it as unconfirmed rather than as a refusal. If the Messages protocol is why you run LibreChat, check that before you move.
Repository status, stars, licences and push dates read from the GitHub API on September 19, 2026 and re-checked on September 21, 2026; LibreChat's compose file, example config and release list read the same way. Product prices and configuration behaviour come from each project's own documentation, read September 19 and re-checked September 21, 2026, and are not exhaustive — Cherry Studio's provider settings, Msty Nexus pricing and Open WebUI's enterprise price could not be read and are marked as such above. No client on this page was runtime-tested against Kunavo. Kunavo token rates come from the live catalog, and every dollar example here is illustrative token arithmetic.