| title | Removed Providers |
|---|---|
| version | 3.8.51 |
| lastUpdated | 2026-09-03 |
Some services were integrated into OmniRoute and later removed because the people who run them asked for it. This page is the durable record of those removals. Its only purpose is to keep them from coming back by accident: a contributor who finds an old fork, a cached npm tarball, an archived issue or a "restore provider X" request needs one place that says do not reintroduce.
This page is not a list of dead or discontinued services. Those are tracked in
FREE_TIERS.md ("Removed / no free tier") and can come back if the service
does. The entries below can only come back with written permission from the operator named in
the request, and that permission must be linked from the entry.
- A takedown request from a service operator is honored, not negotiated. OmniRoute is not affiliated with any upstream service. When the operator of a service asks for the integration to go, it goes, whether the integration used an official API or not.
- "Removed" means every surface OmniRoute controls. Executor, registry entry, provider
id and alias, model list, endpoints, environment variables, icon, dashboard cards, the
generated provider reference,
FREE_TIERS.md, the environment reference, README counts,llm.txtmirrors, dedicated tests and golden snapshots, code comments, CHANGELOG bullets (with a ledgered reconciliation, seeconfig/release/changelog-reconciliations.json), GitHub Releases notes, the wiki, and the GitHub issues, discussions and pull requests whose subject was that provider (issues and discussions deleted; pull requests retitled, their description replaced and the thread locked, because GitHub cannot delete pull requests). - Never reintroduce an entry on this page without written permission. That includes adding the id or alias back to any provider catalog, adding the domains to an executor, accepting a contributor PR that "restores" it, adding it to the free-model catalog, or documenting a manual way to reach it through OmniRoute. Close such PRs and issues with a link to this page.
- Keep the entry minimal. Record only what a reviewer needs to recognize a reintroduction: identifiers, domains, dates and the pull request that did the removal. Do not describe how the integration worked.
- The regression guard is
tests/unit/removed-providers-blocklist.test.ts. It fails when any identifier or domain below shows up again in the provider catalogs, the executor map or the provider registry sources. Add the new identifiers to that test in the same PR that adds a row here.
| Removed on | Provider id | Alias | Domains | Requested by | Removal PR | Notes |
|---|---|---|---|---|---|---|
| 2026-08-12 | puter |
pu |
puter.com |
Puter's owner (Nariman Jelveh) | #10210 | API-key provider. Migration 152_remove_puter_provider.sql cleans stored config. |
| 2026-09-02 | theoldllm |
tllm |
theoldllm.com, theoldllm.vercel.app |
The service operator (support email) | #12440 | Keyless provider. Written request received 2026-08-30. Dedicated issues and discussion deleted, PRs retitled. |
When a new takedown request arrives:
- Confirm the request comes from the operator of the service (their support address or a domain they control), and keep the message privately.
- Remove the integration following the checklist in policy item 2. Use #12440 as the reference for a keyless provider and #10210 for an API-key provider with stored connections (add a migration).
- Add one row to the table above and the identifiers to
tests/unit/removed-providers-blocklist.test.ts, in the same PR. - Reply to the operator once the PR is merged, listing what was removed and what OmniRoute cannot change (already-published npm and Docker versions, git history, third-party forks).