Cmd+, / Ctrl+,).
Quick Setup
- Open Settings (
Cmd+,/Ctrl+,) - Navigate to Providers
- Expand any provider and enter your API key
- Start using models from that provider
Supported Providers
Environment Variables
Providers also read from environment variables as fallback:Advanced: Manual Configuration
For advanced options not exposed in the UI, edit~/.mux/providers.jsonc directly:
Custom OpenAI-compatible providers
Custom OpenAI-compatible providers let you keep the built-inopenai provider for OpenAI and
Codex, while also adding named local or remote endpoints such as llama.cpp, vLLM, LM Studio,
or proxies.
Add each endpoint as a top-level provider in ~/.mux/providers.jsonc:
Provider IDs must use lowercase letters, digits,
_, and -, and must start with a letter or digit. They must not collide with
built-in provider names, and cannot contain ., :, /, or whitespace. Good examples are
local-vllm, llama-cpp, and lm-studio.
llama.cpp
vLLM
LM Studio
baseUrlis resolved from the Mux backend process. In desktop mode, this is your local machine. In server mode, the endpoint must be reachable from the server.- Most OpenAI-compatible servers require the
/v1suffix in the URL. - Custom providers use Chat Completions via
@ai-sdk/openai-compatible. - Keep the official
openaiprovider for the Responses API, Codex OAuth, and OpenAI service tiers. Custom providers do not inherit those features. - Custom providers are direct-only and do not participate in gateway routing.
- You no longer need to set a fake
apiKeyto point Mux at a keyless local server.
Coder (Login with Coder)
The Coder provider routes requests through a Coder deployment’s AI Gateway (/api/v2/aibridge), so usage is authenticated, governed, and audited by the
deployment instead of a personal API key.
Deployment prerequisites (admin-side):
- The OAuth2 provider experiment: start
coderdwith--experiments=oauth2(orCODER_EXPERIMENTS=oauth2) - AI Gateway entitlement and
--aibridge-enabled, with at least one provider configured
- Open Settings → Providers → Coder
- Set the Deployment URL (e.g.
https://coder.example.com) - Click Login with Coder and approve the request in your browser
~/.mux/providers.jsonc. Tokens refresh automatically; Disconnect revokes and clears
them.
After login, Mux discovers the deployment’s configured AI Gateway providers and their model
catalogs, listing models as coder:<provider>/<model> (e.g. coder:anthropic/<model>,
coder:my-openai/<model>). Each provider’s type (anthropic, openai, bedrock,
openai-compat, …) decides the wire protocol Mux speaks to its gateway route. Use the
Refresh models button (or the “Settings: Refresh Coder Models” command) to re-discover
without a re-login. You can also add model IDs manually under the provider’s model list;
manual edits are preserved across re-logins and catalog refreshes: added entries stay
listed, and removed catalog entries stay removed.
Listing the deployment’s providers requires an admin-level API on some deployments; when it
is unavailable Mux probes the default provider names instead. If your deployment uses
custom-named provider instances that Mux cannot discover, declare them by hand in
~/.mux/providers.jsonc:
Bedrock Authentication
Bedrock supports multiple authentication methods (tried in order):- Bearer Token - Single API key via
bearerTokenconfig orAWS_BEARER_TOKEN_BEDROCKenv var - Explicit Credentials -
accessKeyId+secretAccessKeyin config - AWS Credential Chain - Automatic resolution from environment,
~/.aws/credentials, SSO, EC2/ECS roles
aws sso login), Mux uses those credentials automatically.
OpenRouter Provider Routing
Control which infrastructure providers handle your requests:order: Priority list of providers (e.g.,["Cerebras", "Fireworks"])allow_fallbacks: Whether to try other providers if preferred ones are unavailableonly/ignore: Restrict or exclude specific providersdata_collection:"allow"or"deny"for training data policies
xAI Search Orchestration
Grok models support live web search. Mux enables this by default withmode: "auto". Customize via searchParameters for regional focus, time filters, or to disable search.
Model Parameter Overrides
Set per-model defaults for parameters like temperature, token limits, and sampling by adding amodelParameters section under any provider:
Supported parameters
Any unrecognized key is passed through as a provider-specific option (for example, OpenRouter routing hints).
Resolution order
When multiple entries could match, the first match wins (no merging across tiers):- Effective model ID - a dated snapshot like
claude-sonnet-4-5-20250929 - Canonical model ID - the model you selected, e.g.
claude-sonnet-4-5 - Wildcard
"*"- catch-all for that provider
"claude-sonnet-4-5" and "*" with different temperatures,
requesting claude-sonnet-4-5 uses the specific entry - the wildcard is not merged in.
Priority with other settings
Formax_output_tokens specifically, the priority chain is:
- Explicit per-message override (from thinking level or UI)
modelParametersconfig value- Model’s built-in default