Custom / self-hosted LLM connections stop working after upgrading to v12 (license enforcement)
Describe the Bug
Summary
Upgrading to Directus 12 removes a previously working capability: an instance configured against a user-supplied, self-hosted LLM endpoint (Ollama / vLLM / LiteLLM / any OpenAI-compatible base URL) loses that connection once license enforcement kicks in.
Per the v12.0.0 release notes, Core-tier self-hosted instances lose:
- Custom or self-hosted LLMs — connections to custom LLMs will no longer work
- AI Translations
- SSO
- Custom permission rules
Enforcement is immediate on new instances; upgraded instances get a 30-day grace period.
Why this one is different from the others
The other gated features have a plausible "this is commercial functionality" story. This one inverts its own purpose: it takes the cheapest, most privacy-preserving, most self-reliant AI configuration and makes it the paid one, while the vendor-routed default presumably stays available.
There is also no vendor cost being recovered here. Blocking a user-supplied base URL and API key is not withholding a service Directus provides — it is an artificial restriction on where a self-hoster may point their own configuration.
Who this breaks
- Air-gapped / on-prem deployments. No egress to a hosted model provider means no AI path at all. Not degraded — none.
- Data-residency and GDPR-constrained setups. Organizations running a local model precisely because they cannot send content to a third-party API are pushed to a commercial license or off Directus AI entirely.
- Cost-controlled deployments. Running your own inference on your own hardware was the main reason many self-hosters enabled these features.
- The "free under $5M revenue / 50 employees" promise. A qualifying team that self-hosts a model is effectively told their own inference endpoint is a paid feature.
Expected behavior
A custom / self-hosted LLM endpoint configured by the operator should keep working on the Core tier, or at minimum under the free OIG license key.
Suggested resolutions
- Move custom LLM endpoints to Core and keep the gate on Directus-provided AI services (hosted inference, AI translations).
- Keep the gate, but scope it to the vendor-routed path only — a user-configured base URL + key is not a Directus-delivered feature.
- At minimum, enable custom LLM connections under the free OIG license so under-$5M teams are not excluded.
Questions
- Was the intent to gate Directus-hosted inference, with custom endpoints caught in the same flag?
- Does the free OIG license key enable custom LLM connections, or is this Enterprise-only?
- Is there a supported way to keep a bring-your-own-model setup working on v12 without a paid license?
To Reproduce
- On Directus 11.x (self-hosted, no license key), configure a custom / self-hosted LLM provider — e.g. an OpenAI-compatible endpoint such as Ollama or vLLM with a custom base URL.
- Confirm the AI features using that provider work (e.g. AI-assisted fields / translations / the MCP chat tooling backed by that endpoint).
- Upgrade the instance to v12.x (e.g.
directus/directus:12.3.1) without adding a license key. - Wait out the 30-day grace period, or start a fresh v12 instance where enforcement is immediate.
- Trigger the same AI feature.
Expected: the request is sent to the configured self-hosted endpoint, as it was on v11.
Actual: the connection to the custom LLM is refused by license enforcement. Because the endpoint is self-hosted and possibly on an isolated network, there is no fallback provider available — the feature is simply gone.
Note: filed here because the issue chooser routes feature requests to roadmap.directus.com and questions to community.directus.com. This is a behavioural regression between v11 and v12, so the bug form seemed the closest fit — happy to move it if there's a better venue.
Directus Version
v12.3.1
Hosting Strategy
Self-Hosted (Docker Image)
Database
No response
Source: directus/directus