Skip to Content
Tares

How do I refresh the model picker or set a model by hand?

Tares reads the model list from your provider’s endpoint when you save it, and Refresh models on the provider row re-reads it. If the endpoint cannot be read, Tares keeps the last list and shows the reason on the row. When a provider lists nothing, the model field on the agent form is free text, so you can type a model name yourself.

How it works

Each provider you hold under Settings → Model providers carries a stored model list, and the agent form’s model picker reads from it. This is how the list is built and kept:

  • Saving asks the endpoint. When you save a provider, Tares asks the endpoint which models it serves and stores the answer. The agent form then offers exactly what your key can use.
  • The list depends on the provider. For LiteLLM it is the aliases the key is allowed. For OpenRouter, Ollama and vLLM it is everything they hold. For Anthropic and OpenAI it is their current model lists, so a model newer than your Tares release shows up without an upgrade.
  • Refresh re-reads it. Refresh models on a provider’s row asks the endpoint again. Use it after the admin adds an alias or the key’s allowance changes.
  • A failed read keeps the last list. When the endpoint cannot be read, the row says why: the key was rejected, the endpoint did not answer, or there is no models endpoint at that URL. Tares keeps the last list it stored. For Anthropic and OpenAI the built-in list stands in.
  • You can always name a model by hand. When a provider lists nothing, the model field on the agent form is free text.

The full provider reference is on the Model providers page. If you are setting up agents for incident work, the AI SRE guide shows where they fit.

Set it up

  1. Open Settings → Model providers and find the row of the provider whose picker is empty or out of date.
  2. Read the row. If it shows a reason, fix that first:
    • If the key was rejected, replace the key on the provider.
    • If the endpoint did not answer, check that Tares can reach the base URL.
    • If there is no models endpoint at that URL, check the base URL. An OpenAI-compatible endpoint takes a base URL ending in /v1.
  3. Click Refresh models on that row. Tares re-reads the endpoint and replaces the stored list with the new one.
  4. Open the agent form and check the model picker. It should now offer the models your key can use.
  5. If the provider still lists nothing, type the model name into the model field. It is free text in that case. Check that the provider picker next to it is set to the provider you mean. Leaving it on the cell default makes the agent follow whatever the default provider is.
  6. If you leave the model empty, the agent runs on that provider’s default model. That is TARES_AGENT_MODEL on Anthropic, else the first model the provider lists.

A deployment can also seed providers and the default model from the environment. The console values win over these:

ANTHROPIC_API_KEY=... # the Anthropic entry (ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL as before) OPENAI_API_KEY=... # an OpenAI entry OPENAI_BASE_URL=... # its base URL, for Azure or a proxy TARES_MODEL_PROVIDER=openai # the default, when none is chosen in the console TARES_AGENT_MODEL=... # the default model on the default provider

In catalog YAML, an agent names its choice with the fields provider and model. The provider is the id from Settings: anthropic, openai, or the slug of an endpoint’s name.

What you get

  • A model picker that matches what your key can use right now, not what it could use when you first saved the provider.
  • A visible reason on the provider row when a read fails, so you know whether to fix the key, the network or the URL.
  • A picker that does not go blank on a failed read, because Tares keeps the last list. On Anthropic and OpenAI the built-in list covers the gap.
  • A way to keep working when a provider lists nothing: type the model name into the free-text model field.
  • A readable history. Every run records the provider and model it ran on, on the agent page and in the runs table, so a hand-typed model shows up there too.

When something else fits

  • If you want an agent to follow your default, leave the model empty and the provider on the cell default. You then have no model name to maintain on that agent.
  • If you run LiteLLM and want the picker to show your aliases, add it as an OpenAI-compatible provider. The picker then offers exactly the aliases the key may use. As an Anthropic-format gateway, Tares sends Claude model ids and the gateway maps them.
  • If the provider’s row shows a rejected key or an unreachable endpoint, fix that before refreshing, because a refresh cannot read a list the endpoint will not give.

Still stuck? Get help

Last updated on