# Choosing a model

> Pick the model an agent runs on, set how much reasoning effort it spends, and override both for a single message.

Every [run](/docs/work/runs/) is driven by a model. Endue offers a catalog from several providers, and you choose which one an agent uses — as its default, or for one message.

## When to use it

Change the model when the agent's *reasoning* is the problem: it misses steps in a long task, or it is slow and expensive for work that is genuinely simple. If the agent is doing the wrong job rather than doing the job badly, fix the [system prompt](/docs/build/system-prompt/) first — a bigger model follows a vague instruction just as faithfully.

## The catalog

The model picker lists what is available, with the details that actually decide the choice: context window, input and output price per million tokens, what the model accepts (text, images, files), and whether it supports tool calling.

**Tool calling is the one to check.** An Endue agent works by calling tools. A model that does not support tool calling can answer from what it already knows, but it cannot search your email, write an artifact, or use a connector. Those models are labeled in the picker.

## Reasoning effort

Some models expose a **reasoning effort** setting — how much thinking they do before answering. Higher effort costs more tokens and takes longer; it pays off on multi-step work where a wrong early decision wastes the rest of the run.

A rough guide:

| Work | Effort |
| --- | --- |
| Reformatting, extraction, classification, short answers | Low |
| Everyday multi-step tasks with a handful of tool calls | Medium |
| Long chains where an early mistake compounds — research, planning, debugging | High |

<Screenshot
  name="studio-model"
  alt="The model section: a default chat model that falls back to the platform default when unset, and a separate fallback model switch that is off."
/>

## Per-agent, per-message, per-routine

Three places set a model, each overriding the one above it:

- **The agent's default**, in [Agent Builder](/docs/build/agent-builder/) — what it uses unless told otherwise.
- **A single message**, from the composer — useful for one hard question inside a cheap agent's conversation.
- **A [routine](/docs/automate/routines/)**, which can pin its own model so a scheduled job does not change cost when you retune the agent.

<Aside type="tip" title="Cheaper agent, occasional escalation">
  Setting a fast model as the agent default and reaching for a stronger one on the
  few messages that need it usually costs less than running everything on the
  strongest model — and the agent feels quicker for the routine 90%.
</Aside>

## Cost

Model usage is what consumes your plan's allowance, and prices differ by more than an order of magnitude across the catalog. The picker shows input and output price for each model. See [Plans and usage](/docs/account/plans-and-usage/) for how usage is measured and where to watch it, and [Bring your own key](/docs/account/bring-your-own-key/) if you want to pay the provider directly instead.

## Limits

- Not every model supports every capability. Tool calling, image input, and reasoning effort vary by model, and the picker is the source of truth.
- Changing the model does not change the agent's prompt, memory, or bindings.
- A run in flight keeps the model it started with. Switching models applies to the next run.
- Context windows differ. A very long conversation that fits one model may not fit another.

## Related

<CardGrid>
  <LinkCard
    title="Plans and usage"
    href="/docs/account/plans-and-usage/"
    description="What consumes usage, and where to see how much you have used."
  />
  <LinkCard
    title="Bring your own key"
    href="/docs/account/bring-your-own-key/"
    description="Use your own model credentials instead of Endue's."
  />
  <LinkCard
    title="How Endue works"
    href="/docs/get-started/how-it-works/"
    description="The loop the model is driving, and why the choice matters."
  />
</CardGrid>
