What is LiteLLM? The SDK, the proxy, and what running it costs you

LiteLLM is two things that share a name: a Python SDK that calls 100+ model providers through one function, and a self-hosted proxy that puts an OpenAI-compatible endpoint with virtual keys, budgets, and logging in front of your whole organization. The software is free. The operating cost is not.

By the Continuum team. We build a workbench that runs Claude Code, Codex, and their peers, so the model rates quoted here are the ones our own cost analytics ship with.

The short version

LiteLLM is an open-source project from BerriAI with two halves: a Python SDK that gives one calling convention across 100+ LLM providers, and a proxy (the AI Gateway) that platform teams self-host to hand out virtual keys, enforce budgets, log spend, and fail over between models. The core is free; enterprise features like SSO, SCIM, audit logs, and multi-region are quote-only behind a licence key. It is the default choice for teams that will not send prompts to a third party, and it ships fast enough that you must treat upgrading as a standing task.

What you need to know
  • Two products, one name: the Python SDK and the self-hosted proxy.
  • 100+ providers, normalized to the OpenAI chat-completions shape.
  • 56,762 stars and 4,996 open issues on GitHub as of 19 August 2026.
  • Cadence is fast: 15 release tags in the 12 days to 19 August 2026.
  • Enterprise is quote-only. SSO is free up to 5 users, then it needs a licence.
  • April 2026 brought a critical auth bypass, an RCE path, and a SQL injection. Patch cadence is the job.

The two halves

Almost every confused LiteLLM question comes from not knowing which half is being discussed.

What each half is for.
The SDKThe proxy (AI Gateway)
ShapeA Python library you importA server you deploy
Used byApplication developersPlatform teams
Gives youcompletion(), embedding(), image_generation()An OpenAI-compatible HTTP endpoint
RoutingThe Router class: retries, fallbacks, load balancingThe same, centrally, for every caller
KeysYour process envVirtual keys per user, team, or project
SpendWhatever you logTracked, budgeted, exportable

The unifying idea in both: everything comes back in OpenAI chat-completions format, and every provider's errors are mapped onto OpenAI exception types. One try/except, one response shape, whether the call went to Anthropic, Bedrock, Vertex, or a local Ollama.

What it is genuinely great at

  • Breadth. 100+ provider integrations, including the awkward ones: Bedrock's signing, Vertex's auth, Azure's deployment names. Someone has already fought each of those.
  • Virtual keys. Handing a team a key that has a budget, a model allowlist, and a spend report attached is the feature that gets LiteLLM adopted, more than routing ever does.
  • No per-token fee, ever. Unlike every hosted gateway, cost does not scale with traffic.
  • Nothing leaves your network. For a lot of security reviews this is the entire argument, and no hosted option can match it.
  • Error normalization. Genuinely saves weeks across a multi-provider codebase.
  • It is where the ecosystem points. Observability vendors, agent frameworks, and internal platforms all have a LiteLLM integration already.
A minimal proxy config. Shape and keys from the LiteLLM proxy config reference.
model_list:
  - model_name: gpt-4o
    litellm_params:
      model: azure/gpt-4o
      api_base: https://endpoint.openai.azure.com/
      api_key: "os.environ/AZURE_API_KEY"
      rpm: 200

litellm_settings:
  num_retries: 3
  fallbacks: [{"gpt-4o": ["gpt-3.5-turbo"]}]

router_settings:
  routing_strategy: "simple-shuffle"

general_settings:
  master_key: "sk-1234"

Four top-level keys: model_list, litellm_settings, router_settings, general_settings. Secrets are referenced as os.environ/NAME, never inlined.

The operational reality

This section exists because the README does not have one, and because "just self-host it" is advice that costs teams real money when it is taken at face value.

Config sprawl

That four-key config above is what a demo looks like. A production one carries an entry per model per deployment per region, per-key rate limits, budget definitions, guardrail configs, callback routing, cache settings, and alerting. It is YAML that encodes routing policy, and it grows every time someone adds a model or a team. Nothing is wrong with it, but it becomes infrastructure that needs review, staging, and rollback like any other, and teams that treat it as a config file rather than as code find that out during an incident.

Upgrade churn

BerriAI/litellm, read from the GitHub API on 19 August 2026.
Value
Stars56,762
Forks10,723
Open issues4,996
Release tags between 8 and 19 August 202615
Latest stable tagv1.97.0 (16 August 2026)
LicenceMIT core, with enterprise directories under a commercial licence

Fifteen tags in twelve days, spanning -dev, -rc, and stable, on a project with nearly five thousand open issues. That is velocity, and it is also the reason you cannot pin a version and walk away: fixes you need ship alongside changes you did not ask for. LiteLLM publishes -stable tags precisely because of this, and running those rather than the newest tag is the right default.

Security

Later the same month, on 29 April 2026, came CVE-2026-42208: a SQL injection in the proxy's API key verification path, reachable by an unauthenticated request with a crafted Authorization: Bearer header sent to any LLM API route. It affected v1.81.16 through v1.83.6 and was fixed in v1.83.7, with v1.83.10-stable recommended. External trackers rated it 9.3 and reported exploitation attempts within roughly a day of the advisory going public. The same advisory names CVE-2026-30623 (command injection via Anthropic's MCP SDK) and GHSA-4xpc-pv4p-pm3w (authentication bypass via Host header injection).

To their credit the response was substantive rather than defensive: an external audit engagement with Veria Labs, a bug bounty with $500 to $3,000 payouts, and a five-business-day commitment on GitHub security advisories. But the lesson for anyone choosing this is unambiguous. A self-hosted gateway holds every provider key your company owns. It is the highest-value target in your infrastructure, and running it means running a patch cadence, not just a container.

Pricing

What is free and what is not. Feature split from the enterprise docs, August 2026.
Open sourceEnterprise
Price$0Quote only. "Pricing is based on usage."
OpenAI-compatible gatewayYesYes
Virtual keys, budgets, spend trackingYesYes
Fallbacks, caching, Prometheus metricsYesYes
Always-on guardrailsYesYes, plus key and team scoped
SSOFree up to 5 usersUnlimited, plus SCIM and OIDC/JWT
Organizations and delegated adminNoYes
Key rotation and secret managersNoAWS KMS, Azure Key Vault, HashiCorp Vault
Audit and management operation logsNoYes
Multi-region under one licenceSingle regionAdmin and worker split

The licence is activated by setting LITELLM_LICENSE to a token; the Swagger page then reads "Enterprise Edition". A 30-day trial key is issued without a sales call.

Who should run it

Run LiteLLM if

  • Prompts cannot leave your network, and that is a hard requirement rather than a preference.
  • You have a platform team, or at least a named owner with an on-call rotation.
  • Inference spend is high enough that a percentage fee is real money (roughly $5k a month and up).
  • You need virtual keys with budgets across many internal teams, which is its best feature.
  • You are already multi-cloud and need Bedrock, Vertex, and Azure behind one interface.

Do not run LiteLLM if

  • You are a solo developer or a small team. A hosted gateway's fee is cheaper than your weekend.
  • Nobody will own patching. See the April 2026 list.
  • You want a model catalogue you do not have accounts for. That is OpenRouter, not this.
  • Your requirement is dashboards rather than routing. That is Helicone or Portkey.

Questions people ask

What is LiteLLM used for?

Two things. As a Python SDK it gives one calling convention across 100+ model providers, with retries, fallbacks, and load balancing in its Router class. As a self-hosted proxy it puts an OpenAI-compatible endpoint in front of your organization, with virtual keys, per-team budgets, spend tracking, caching, guardrails, and logging.

Is LiteLLM free?

The SDK and the core proxy are open source and free, with SSO included for up to 5 users. Enterprise features (SCIM, OIDC/JWT, organizations, key rotation, secret managers, audit logs, multi-region) need a licence, activated by the LITELLM_LICENSE environment variable. LiteLLM does not publish enterprise prices; the docs say pricing is usage-based and to contact them.

What is the difference between LiteLLM and OpenRouter?

LiteLLM is software you deploy in front of your own provider accounts, with no per-token fee. OpenRouter is a hosted service with its own catalogue of 400+ models that you can use with no provider accounts at all, for provider list price plus a 5.5% credit purchase fee. See the full head-to-head for the cost crossover point.

Is LiteLLM safe to use in production?

Yes, if you patch it. It is very widely deployed, and it disclosed serious vulnerabilities in April 2026: a critical OIDC authentication bypass, a privilege escalation through /config/update reaching RCE, unsalted password hashes, and an unauthenticated SQL injection in the key verification path. All were fixed within days, in v1.83.0 and v1.83.7. Run the -stable tags and watch the advisories.

How often does LiteLLM release?

Constantly. Fifteen release tags were published between 8 and 19 August 2026 alone, across dev, release-candidate, and stable channels, with v1.97.0 the latest stable on 16 August. Plan for upgrades as a recurring task rather than an occasional project, and prefer the -stable tags.

Does LiteLLM support Anthropic and Claude models?

Yes, both directly through the Anthropic API and via Amazon Bedrock and Google Vertex. Responses are normalized to the OpenAI chat-completions shape, which is convenient and also means provider-specific features such as prompt-cache controls and extended thinking parameters are where compatibility edges appear. Test those paths before you rely on them.

Sources

Every figure above was read from these pages on August 2026. Vendors reprice without notice; if you find a stale number, tell us.

  1. LiteLLM documentation SDK vs proxy, 100+ providers, error mapping
  2. LiteLLM proxy config reference four top-level keys, os.environ refs, fallbacks
  3. LiteLLM enterprise feature split, LITELLM_LICENSE, SSO free to 5 users
  4. LiteLLM security update, April 2026 CVE-2026-35029/35030, pass-the-hash, fixed v1.83.0, bug bounty
  5. CVE-2026-42208 advisory SQL injection, v1.81.16-v1.83.6, fixed v1.83.7
  6. BerriAI/litellm on GitHub stars, forks, issues, release tags read 19 Aug 2026
Try it

A proxy you
do not have to patch.

Continuum reports agent spend by repo with no gateway in the request path. Org policy and caps included.

free app · your subscriptions · local-first