What verification checks
Verification is a real round-trip to your provider with your key, not a format check. It answers two separate questions, and both are reported on the card.
The two checks
Connection ✓ / ✗ — Promptly sent a small chat completion to your provider using this key and the selected chat model, and got a valid reply. A ✗ means the request was refused or never arrived: wrong key, no credits, unknown model name, provider outage, or an unreachable base URL.
Tool calling ✓ / ✗ — Promptly then asked the model to call a dummy function and checked that it actually did. A ✗ means this model can't be used for chat, because every answer is planned through tool calls. See Model roles.
Tool calling is only checked when the connection succeeded — there's nothing to test otherwise.
🖼️ [Image] — A credential card showing the Verified badge next to a green "Tool calling ✓" badge, with "Last verified 2 minutes ago" underneath.
The three outcomes
| Result | Card shows | What it means |
|---|---|---|
| Connection ✓, Tool calling ✓ | Verified + green Tool calling ✓ | Fully usable — Chat, Planner, and Background. |
| Connection ✓, Tool calling ✗ | Verified + amber Tool calling ✗ | The key works but this model can't run tools. Usable for Background only; chat will not use it. Toast: "Key connects, but tool calling failed — usable for background tasks only." |
| Connection ✗ | Invalid key / Out of credits / Provider down / Unverified | The failure is classified from the provider's response and stored, with the provider's own error text under Last error. See Key statuses. |
Hovering the tool-calling badge explains the consequence in place.
When verification runs
- Automatically, right after you add a key. No extra click needed.
- On demand, via Verify key on the card — use this after topping up credits, rotating a key at the provider, or when the provider recovers from an outage.
- Inside Edit models, via Test & save, which verifies the model you just picked before committing it. If the connection fails, nothing is saved. If only tool calling fails, you're offered Save anyway.
Verification is not a background job — nothing re-checks your key on a schedule. Status also updates on its own when a real conversation hits a failure, which is how a key that ran out of credits mid-day ends up flagged. See Backup keys & failover.
What resets a verified key
- Pasting a new API key → back to Unverified, tool calling cleared.
- Changing the Base URL override → cached model list dropped, credential re-checked.
- Changing the Chat or Planner model → tool-calling result cleared (status stays Verified).
- Disabling then re-enabling → back to Unverified.
In each case, run Verify key (or Test & save) to get a current result.