# Troubleshooting

> The messages you may see, and how to fix each one.

Model Hub never switches models silently. When it can't make a call, it says why. The same reasons show in the **Result** column of the usage view as a code, given here in brackets.

## "This call could cost up to $…, over the role's ceiling of $…" (`over-ceiling`)

**Why:** the prompt plus the longest reply allowed would cost more than the **Per call** limit.
**Fix:** raise **Per call** on the tier (or the role), send less text, or put a cheaper model first.

## "This month's budget for … is used up" (`over-budget`)

**Why:** the tier or role has spent its **Per month** limit.
**Fix:** raise the limit, wait for next month, or move the role to another tier.

## "The … tier has no models set; add one in Model Hub's settings" (`no-models`)

**Why:** the tier's list is empty.
**Fix:** open the tier on the **Tiers** tab and add a model, or apply a preset.

## "… isn't available: …" (`provider-unavailable`)

**Why:** the provider has no key, or its server isn't answering.
**Fix:** open the provider on the **Providers** tab and select **Test**. For Ollama or LM Studio, check that the server is running and the address is right.

## "No provider "…" is set up in the Hub" (`unknown-provider`)

**Why:** a tier or role lists a model from a provider you haven't added, or removed.
**Fix:** add the provider, or take that model off the list.

## "… has no listed price, so its cost can't be checked" (`unpriced-model`)

**Why:** the model has no published price, so a limit can't be checked against it.
**Fix:** pick a model with a price. For another endpoint, set its **Billing** to match how it charges.

## A call was refused because the model can't do something (`capability-missing`)

**Why:** the job needs something the model lacks, such as web search, tools, images or embeddings.
**Fix:** put a model that can do it first on the tier. Web research needs a model with web search.

## A provider's own error (`provider-error`)

**Why:** the provider returned an error: a bad key, a rate limit, an outage.
**Fix:** the message is the provider's. Test the provider, then try again.

## "Asks for "…", which doesn't exist, so it runs on Balanced."

**Why:** a role names a tier that was deleted or not made yet.
**Fix:** open the role and pick a tier, or make the missing one.

## A notice at startup about a tier that was reset or left out

**Why:** a saved tier could not be read as it was.
**Fix:** open the **Tiers** tab. The note at the top says which tier and why.

## Questions

### A model is missing from the picker

Run **Model Hub: Refresh model lists**. For another endpoint, check its **Models** field.

### Another plugin says it needs Model Hub, or a newer one

Install and enable Model Hub, or update it. The message names the API version the plugin needs.

### Does it work on mobile?

No. Model Hub is desktop only.

### Where are my keys?

In Obsidian's keychain, not in the settings file.

Still stuck? See [Getting help](https://github.com/Insurgent-Methods/model-hub/blob/HEAD/SUPPORT.md).
