What's New
If you run your own LLM host — a CLI that AQE doesn't ship support for — you can now give it a real provider identity instead of pretending it's someone else's.
Declare it in .agentic-qe/llm-config.json:
That's it. my-host is now selectable with AQE_LLM_PROVIDER=my-host, usable as your defaultProvider, in your fallbackChain, and in per-agent overrides. Declaring it also enables it.
It's declared as data, not a module path — AQE never imports third-party code because a config file asked it to. And because it's config rather than an in-process call, the same declaration is picked up by both the aqe CLI and the MCP server, which are separate processes.
Embedding AQE as a library instead? registerProvider() is exported from agentic-qe/shared/llm.
Honest about who's paying
billingMode is something you assert, and AQE says so rather than repeating it as fact:
Provider: my-host ● external — subscription (declared by .agentic-qe/llm-config.json, not verified by AQE)
Omit it and you get metered-api — AQE assumes your host costs money and asks for a budget cap, rather than assuming it's free.
This release also fixes a related bug: any provider reporting subscription billing was previously described as running on your Claude Code subscription. That was only ever accurate because the two built-in subscription providers happened to be the only ones possible.
Two deliberate limits
- AQE checks whether your host exists by resolving the binary on
PATH— it won't run it to find out, since that could burn a real request against your plan. - Declared hosts don't provide embeddings.
embed()falls back to a provider that has an embeddings endpoint rather than returning a made-up vector.
Also
agentic-qe/shared/llmis now a real package export (it had been documented but never actually exported).aqe llm providerslists declared hosts, marked*, so they're never confused with providers AQE ships.
Nothing changes for existing projects — declare nothing and routing behaves exactly as before.
Getting Started
npx agentic-qe init --autoSee ADR-127, the routing guide, and the CHANGELOG for full details. Thanks to @pacphi for issue #628.
{ "externalProviders": { "my-host": { "kind": "cli", "command": ["my-host", "exec"], "billingMode": "subscription", "models": ["default"] } } }