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 select Check for better models.
"… 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.
Test says "Not available: … rejected the API key"#
Why: the provider refused the key: mistyped, revoked, expired, or an account with no credit. Fix: make a new key in the provider's console, paste it into the provider's dialog and select Test again.
"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. For a router model such as openrouter/auto, set a Per call limit. If models.dev prices are old, select Refresh prices on the Providers page.
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.
"The reply was cut off before any text: the model used all … output tokens…" (reply-cut-off)#
Why: a reasoning model spent its whole reply budget thinking and wrote nothing. Model Hub doesn't pass an empty reply off as an answer: it tries the tier's next model, and shows this only when none answered. Fix: set Reasoning to Low or Off on that model's row (the sliders button, Routing and reasoning): see Per-model options. The message names the tokens used and the cap.
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.
Report a problem#
Open the note chat's ⋯ menu and choose Report a problem…. Describe what happened (not your note's text), select Collect, and read the whole report before it goes anywhere. Model Hub's part lists which providers are on, each built-in tier's limits and this month's spend, and your last ten calls as role, model, time, tokens, cost and error code; never prompts, replies, notes or keys. Secrets, paths and names are masked, and you can untick any section.
Then open a GitHub issue, copy the report, save it as a file, or email it. Nothing is sent until you pick one. Suggest a title and cause has a model on your quick tier read the report; it shows the model and the price first, and sends only after you agree.