Jan Desktop Setup with AnonRouter
Connect Jan Desktop to AnonRouter as a custom OpenAI-compatible provider, discover models, configure capabilities, and troubleshoot keys and endpoints.
Jan Desktop can connect to AnonRouter as a custom provider using the OpenAI wire format. Jan fetches available models from AnonRouter and lets you configure model capabilities that a generic endpoint cannot advertise automatically.

The short version
Open Settings → Model Providers, add an OpenAI-compatible provider,
name it AnonRouter, use https://api.anonrouter.ai/v1, and paste a
compatibility-enabled AnonRouter inference key.
Jan custom-provider settings
| Jan setting | Value |
|---|---|
| Provider name | AnonRouter |
| API format | OpenAI-compatible |
| Base URL | https://api.anonrouter.ai/v1 |
| API key | A compatibility-enabled AnonRouter inference key beginning with ar_ |
Do not choose Anthropic-compatible, including when you plan to use an Anthropic-created model. Jan's API-format setting describes the endpoint's wire protocol, and AnonRouter uses OpenAI Chat Completions here.
Connect AnonRouter
- Open Jan Desktop.
- Go to Settings → Model Providers.
- Select Add Provider beside the provider list.
- Choose OpenAI-compatible.
- Enter
AnonRouteras the provider name. - Enter
https://api.anonrouter.ai/v1as the base URL. - Paste your compatibility-enabled
ar_...inference key. - Create the provider and wait for Jan to load its models.
- Select an AnonRouter model in a new chat and send a short test message.
Jan tries GET {base_url}/models when the provider is saved. AnonRouter exposes
authenticated GET /v1/models, so automatic discovery should work. If needed,
open the provider's Models section, select +, and enter an exact model id
manually.
Add /auto or a pinned model
Add /auto manually if you want AnonRouter to choose an eligible route for
each request. For a fixed route, copy its exact id from the
AnonRouter model catalog.
Jan does not infer tools, vision, or audio support for custom-provider models. Configure only capabilities that both Jan and the selected AnonRouter route support. AnonRouter's current compatibility endpoint accepts text message content; do not mark a model as vision-capable for this integration.
Multiple keys and fallback behavior
Jan supports several keys for one remote provider. In the AnonRouter provider, open API keys → Advanced, add numbered keys, and use Test keys.
Jan tests each key against {base_url}/models and moves to a fallback only
after HTTP 401, 403, or 429. It does not retry another key for every error.
If you add fallbacks, make each one compatibility-enabled and give it a clear
name and credit limit in the AnonRouter dashboard.
Fallback keys can multiply exposure
Jan may continue with another key after authentication, permission, or rate errors. A fallback should not be treated as a billing retry. Set a separate AnonRouter credit limit on every key and revoke keys you no longer use.
Sampling parameters
Jan exposes many sampling controls for custom endpoints. AnonRouter accepts a defined subset of OpenAI Chat Completions fields, and some selected providers may ignore optional values.
Start with the defaults. Keep n at 1, avoid logprobs, top_logprobs, and
logit_bias, and add supported controls one at a time. If Jan sends an
unsupported field, remove that sampler before diagnosing the model itself.
Privacy and local-app expectations
Jan runs on your desktop, but this configuration calls a remote model service. Messages, enabled history, tool results, and other context included in a request leave the device.
The static key also means this setup uses AnonRouter compatibility mode. The broker temporarily sees key identity and plaintext request together, so this is not the unlinkable native ticket flow. Prompts and responses are not intentionally retained by AnonRouter.
Troubleshooting
Jan reports 401 or 403
Paste the full ar_... key and confirm OpenAI-compatible access is enabled.
Jan's Test keys action reports each key independently.
Requests return 404
Use the base URL https://api.anonrouter.ai/v1. Do not omit /v1 and do not
append /chat/completions; Jan builds the request path.
No models are listed
Save the provider again and test the key. If discovery still fails, add /auto
or another current exact model id manually in the provider's Models section.
Tools or attachments fail
Review the model capabilities you enabled in Jan. Tool calling requires a tool-capable route; inline vision/audio content is not supported by AnonRouter's current compatibility contract.
Jan Desktop setup FAQ
Which API format should I choose?
Choose OpenAI-compatible.
What base URL should I use?
Use https://api.anonrouter.ai/v1. Jan strips trailing slashes automatically.
Will Jan discover the models?
It should. Jan checks {base_url}/models, and AnonRouter exposes that endpoint
for authenticated inference keys.
Does Jan know which models support tools or vision?
Not automatically for a custom provider. Configure model capabilities manually, and only enable features supported by this integration.
Sources and further reading
AnonRouter is an independent service and is not affiliated with Jan.
LibreChat Setup with AnonRouter
Add AnonRouter to LibreChat with a ready-made custom endpoint YAML configuration, model discovery, user-provided keys, and privacy guidance.
Hermes Agent Setup with AnonRouter
Configure Hermes Agent for AnonRouter with a named custom provider, safe tool settings, Docker examples, model requirements, and spend controls.