# Atlas error: Provider has no models (ProviderNoModelsError)

> Re-authenticate the provider, confirm your plan grants model access, and remove any model pin in atlas.json so Atlas can fetch the live model list.

Atlas raises ProviderNoModelsError because the provider authenticated and loaded, but its model map came back empty, typically because the models endpoint returned nothing or the account has no entitled models. Fix it by running `atlas models` to confirm the provider section is genuinely empty, re-authenticating in case an expired token is yielding an empty list rather than a hard 401, checking the provider dashboard that your account or plan actually grants model access, and removing any model pin from atlas.json so Atlas can fetch the live list.

## Symptom

A provider is authenticated and loads normally, but Atlas fails with ProviderNoModelsError for that providerID and the model picker is empty for that provider even though other providers list models.

## Cause

Provider.defaultModel raises NoModelsError when a provider resolves but its model map is empty. That usually means the provider's models endpoint returned nothing, or the account behind the credential has no entitled models.

## Fix

1. Run `atlas models` and confirm the provider section is genuinely empty.
2. Re-authenticate the provider: an expired token often yields an empty model list rather than a hard 401.
3. Check the provider dashboard that your account or plan actually grants model access.
4. If you pinned models in atlas.json, remove the pin so Atlas can fetch the live list.

## Why does Atlas say a provider has no models

Atlas says a provider has no models because Provider.defaultModel raises NoModelsError when the provider resolves but its model map is empty. The credential worked and the provider loaded. The model list simply came back with 0 entries for that providerID.

ProviderNoModelsError sits one step past authentication. The provider resolved, which means Atlas found a credential and constructed the client without throwing. What failed is the model map: it is empty. Two situations produce an empty map. The provider's models endpoint returned nothing, or the account behind the credential has no entitled models. Both look identical from inside Atlas, because Atlas can only report what the provider hands back. The empty model picker for that provider is the visible half of the same fact. Everything downstream, including selecting a default model, is blocked until that map has at least one entry.

## How do I fix ProviderNoModelsError in Atlas

Step 1 of the documented fix is to run `atlas models` and confirm the provider section is genuinely empty. Confirming the emptiness before changing anything keeps you from chasing a plan or billing problem that does not exist, because a stale picker is not the same as an empty model map.

Work the fix in order. Run `atlas models` first and read the section for the providerID named in the error. If models are listed there, the problem is elsewhere. If the section is genuinely empty, re-authenticate that provider next, because an expired token often yields an empty model list rather than a hard 401 and this is the case people miss most often. If re-authentication does not repopulate the list, check the provider dashboard to confirm your account or plan actually grants model access. Finally, if you pinned models in atlas.json, remove the pin so Atlas can fetch the live list.

## Can an expired token cause an empty model list in Atlas

Yes. An expired token often yields an empty model list rather than a hard 401, which is why re-authenticating is step two of the ProviderNoModelsError fix. Atlas sees a provider that loaded and a model map with zero entries, so it raises NoModelsError instead of an auth error.

The behavior is counterintuitive, and it is worth stating plainly: a token that has expired can produce a silent empty list rather than a clean rejection. From the Atlas side, that is indistinguishable from an account with no entitled models. Re-authenticate the provider named in the error before you conclude anything about your plan or your billing. If the model map repopulates after re-authentication, the token was the whole story. If it stays empty after a fresh credential, the token was not the problem and you should move on to the provider dashboard and to any model pin in atlas.json.

## How to check whether your account is entitled to models

Step 3 of the documented fix is to check the provider dashboard directly and confirm your account or plan actually grants model access. Atlas raises ProviderNoModelsError whenever the model map is empty, and an account with 0 entitled models produces exactly that, even though the credential itself is completely valid.

Entitlement and authentication are separate. A key can be real, current, and correctly stored in Atlas, and still map to an account whose plan grants access to zero models. The provider dashboard is the only authoritative place to settle that question, because Atlas can only report the model map it receives. Look at the plan tied to the exact key you configured, not to another key on the same account. If the dashboard shows no model access, no amount of re-authenticating or reconfiguring inside Atlas will populate the model map, and the fix is on the provider side rather than in Atlas.

## Does a model pin in atlas.json cause ProviderNoModelsError

A model pin in atlas.json can cause ProviderNoModelsError, which is why removing the pin is step 4 of the documented fix. Remove the pin so Atlas can fetch the live model list for the provider instead of being held to a static set that may no longer resolve.

Pinning models in atlas.json is useful when you want a fixed, predictable set. The cost is that the pinned list, not the provider's live list, is what Atlas works from. If those pinned entries do not resolve against the provider, the model map ends up empty and Provider.defaultModel raises NoModelsError for that providerID. Removing the pin lets Atlas fetch the live list again, which both fixes the immediate error and tells you what the provider genuinely offers. Re-add a pin afterwards if you want one, using a model name you have now seen in the live list.

## How to verify the Provider has no models fix worked

Run `atlas models` to verify the fix. When the provider section that listed 0 models now lists models, the model map is populated, Provider.defaultModel has something to select, and ProviderNoModelsError will not fire again for that providerID. The Atlas model picker fills in for that provider at the same time.

`atlas models` is the direct read of the condition behind the error, which makes it the right verification command. Look specifically at the section for the providerID that appeared in the ProviderNoModelsError message, not at the output as a whole. Other providers listing models tells you nothing about this one. If the section is populated, you are done. If it is still empty after re-authenticating, checking entitlements on the provider dashboard, and removing any model pin in atlas.json, the provider is genuinely returning nothing and the remaining work is with the provider, not with Atlas.

## FAQ

### how to fix ProviderNoModelsError in atlas

Run `atlas models` and confirm the provider section is genuinely empty, re-authenticate the provider, check the provider dashboard that your plan grants model access, and remove any model pin from atlas.json so Atlas can fetch the live list.

### why is my atlas model picker empty for one provider

An empty Atlas model picker for one provider means that provider resolved but its model map is empty. Provider.defaultModel raises NoModelsError in that case, usually because the models endpoint returned nothing or the account has no entitled models.

### atlas provider authenticated but no models listed

Authentication succeeding while no models are listed is the classic ProviderNoModelsError case. Re-authenticate first, because an expired token often yields an empty model list rather than a hard 401, then check entitlements on the provider dashboard.

### can an expired api key show an empty model list instead of a 401

Yes. In Atlas, an expired token often yields an empty model list rather than a hard 401. That empty model map is what makes Provider.defaultModel raise NoModelsError, so re-authenticating is the first thing to try.

### should I remove pinned models from atlas.json

If you pinned models in atlas.json and hit ProviderNoModelsError, remove the pin so Atlas can fetch the live model list from the provider. You can re-add a pin later using a model name you have seen in the live list.

### how do I know if my plan grants model access

Check the provider dashboard for the exact key you configured in Atlas. A valid credential attached to an account with no entitled models produces an empty model map, and Atlas raises ProviderNoModelsError for that providerID.

### how do I confirm the atlas no models error is fixed

Run `atlas models` and look at the section for the providerID from the error. If that section now lists models, the model map is populated and ProviderNoModelsError will not fire again for that provider.

---

Canonical HTML: https://runatlas.sh/resources/troubleshooting/provider-has-no-models
Source of truth: aeo_pages row `/resources/troubleshooting/provider-has-no-models` (segment: Troubleshooting) (this file is generated from it, never hand-edited).
Licence: Atlas is proprietary with a free core. It is not open source and there is no public source repository.
