Skip to Content
Tares

What happens when an imported agent names a model provider my instance does not have?

Tares does not treat this as an error. An agent that names a provider your instance does not hold runs on the default provider, and its agent page says so until you pick a provider that exists. In catalog YAML the fields are provider (anthropic, openai, or the slug of an endpoint’s name) and model.

How it works

An instance holds its model providers under Settings → Model providers. It can hold several, and one of them is the default. Ask and the guided setup run on the default. So does any agent without a choice of its own.

An agent can come from a template or a catalog import and name a provider this instance does not have. Tares handles that case in three ways:

  • The import succeeds and the agent is not marked as broken.
  • When the agent runs, it runs on the default provider.
  • The agent page tells you it is running on the default. That note stays until you pick a provider that exists on your instance.

In catalog YAML, an agent names its provider and model with two fields:

  • provider is the id you see in Settings. It is anthropic, openai, or the slug of an endpoint’s name. If you added an OpenAI-compatible endpoint called LiteLLM, its slug is the value to use.
  • model is the model the agent should use on that provider.

Every run records the provider and model it ran on. You see this on the agent page and in the runs table. The history stays readable after you change the agent’s provider or remove a provider.

The Model providers page covers the three kinds Tares supports: Anthropic, OpenAI, and an OpenAI-compatible endpoint such as LiteLLM, OpenRouter, Ollama, vLLM or Azure.

Set it up

Imported agents work right away, so fixing the provider is optional. It matters when you want the agent on the provider it was written for.

  1. Open the imported agent’s page and read the note that says it runs on the default provider.
  2. Go to Settings → Model providers and check which providers your instance holds. If the one the agent named is missing, add it. You can add Anthropic, OpenAI, or an OpenAI-compatible endpoint. The add form has presets for LiteLLM, OpenRouter and Ollama that fill in the URL, and Other takes any URL.
  3. Save the provider. Tares asks the endpoint which models it serves and stores the list, so the agent form offers what your key can use. Use Refresh models on the provider’s row if the list changes later.
  4. Open the agent form and set the provider picker to a provider that exists on your instance. Set the model picker too. If you leave the model empty, the agent runs on that provider’s default model. That is TARES_AGENT_MODEL on Anthropic, otherwise the first model the provider lists.
  5. If you keep agents as catalog YAML, set provider and model there to values that match your instance, so the next import needs no change.
  6. If you want the instance default itself to be different, set it in the console. A deployment can also seed it from the environment. The console values win over the environment.
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

After the change, the note on the agent page goes away because the agent now names a provider your instance holds.

What you get

  • Imports from templates and catalogs go through without errors, even when the author used a provider you never set up.
  • The agent keeps working on your default provider while you decide what to do.
  • The agent page shows you why it is on the default, so you are never left guessing which provider answered.
  • Each run records its provider and model, so you can compare runs before and after you pick a provider.
  • Once the agent is pinned to a provider you hold, the agent form offers the models that provider lists.

For the wider picture of how agents fit into incident work, see AI SRE.

When something else fits

If you want the agent to stay on whatever the default is, leave the provider picker on the cell default. The agent then follows the default whenever it changes. If you want a fixed provider, pick one on the agent. For root-cause work on real data, make sure the provider you choose serves a model strong enough for multi-round tool use. A small local model suits trying things out better.

Still stuck? Get help

Last updated on