---
title: Models and providers
description: Connect the providers you have a plan with, then pick a model, its effort and its variant for each chat.
canonical_url: https://lookout.itoowasinarcadia.com/docs/models
type: guide
section: Use Lookout
last_updated: 2026-10-22
related:
  - https://lookout.itoowasinarcadia.com/docs/usage
  - https://lookout.itoowasinarcadia.com/docs/troubleshooting
---

> Every page of these docs: https://lookout.itoowasinarcadia.com/llms.txt

# Models and providers

Connect the providers you have a plan with, then pick a model, its effort and its variant for each chat.

Lookout runs on plans you already have. A provider is the company you hold the account with (OpenAI for a ChatGPT
plan, Anthropic for a Claude plan or a Claude API key); you connect it once with its own sign-in, and its models then
appear in the model menu of every chat. OpenCode's free models are on from the start, so a chat can run before you
connect anything.

## Connect a provider

1. Open **Settings › Providers**, or choose **Connect more providers** at the bottom of the model menu in the message box.
2. Under **Available**, click the sign-in on the provider's row: it names what you hold, such as **Sign in with
   ChatGPT** or **Sign in with Claude**, or **Add API key** for a key. Anthropic's **Sign in** offers both.
3. Finish the step the row opens (below).

The provider moves to **Connected** and its models join the model menu. Click a connected row to see its accounts,
what each plan has left and its models.

These sign-ins happen in the app. Your Lookout account carries them to your other machines, so a machine with only
the CLI gets them once it is on your account: [Providers on this machine](https://lookout.itoowasinarcadia.com/docs/cli#providers).

### On a machine with only the CLI

With no Lookout account, or before the machine is on it, the CLI still runs:

- OpenCode's free models, with no sign-in.
- A provider whose key is in the environment of the process running Lookout (your shell, or the service's unit):
  `META_API_KEY` (Muse Code), `COMMAND_CODE_API_KEY` (Command Code), `KIMI_API_KEY` (Kimi Code), `LOOKOUT_ZAI_KEY`
  (Z.ai Coding Plan) and `LOOKOUT_DEEPSEEK_KEY` (DeepSeek). The key stays on that machine and never syncs.
- On macOS, an Anthropic API key kept in the Keychain: `lookout providers import-key anthropic --keychain SERVICE`
  ([With an API key](https://lookout.itoowasinarcadia.com/docs/models#api-key)).

### With a code

SpaceXSI (Grok), Moonshot AI (Kimi) and Meta (Muse Code). Lookout opens the provider's page and the row shows **Your code**. Enter the code on that page
and approve. **Copy code and open the page** copies the code and opens the page again. The code expires: the row
says when.

### In the browser

Google (Antigravity), OpenAI (ChatGPT), Anthropic (Claude) and Command Code. For your first account Lookout opens the provider's sign-in page, and
the row says **Finish in your browser.** until you do. **Open it again** opens the page again. When the provider
already has an account, the page doesn't open by itself: the step offers **Open sign-in** and **Copy link for a
private window** side by side, because the page signs in whoever your browser is already signed in as. When Lookout
knows which account the step is for, it says so, for example **Approve as you@example.com on claude.ai.**

The page signs in whoever your browser is already signed in as. For another account, click **Copy link for a private
window** (or **Copy the link** on a first sign-in) and open it in a private window or another browser profile ([Add
another account](https://lookout.itoowasinarcadia.com/docs/usage#add-account)). If the page signs in an account you already added, nothing is added and
the page says so: choose **Add account** again and use **Copy link for a private window**.

When the Command Code CLI is signed in on this device, the row offers that sign-in first: click **Use this
account**, or **Sign in with another account**.

Every Claude account in Lookout is Lookout's own sign-in: Lookout renews it itself, it syncs to your other devices,
and it keeps working whatever Claude Code is signed in to, so you can switch Claude Code between your subscriptions
as often as you like. When Claude Code is signed in to an account you haven't added, **Sign in with Claude** offers it: **Add
you@example.com** starts the sign-in for that account, and the step says **Approve as you@example.com on
claude.ai.** If your browser is signed in to claude.ai as another account, use **Copy link for a private window**,
sign in to claude.ai there as that account, and approve. Use one private window per account, and close it before the
next. If you keep one Claude Code login per account (a `CLAUDE_CONFIG_DIR` each, such as
`CLAUDE_CONFIG_DIR=~/.claude-work claude`), Lookout offers each of their accounts in turn. Signing an account out in
Lookout doesn't affect Claude Code.

Lookout never reads Claude Code's sign-in, only which account it is signed in to. A Claude account an older version
borrowed from Claude Code no longer works: add it again with **Sign in with Claude**. A Claude sign-in lasts about a
month; three days before it ends, its row says **Sign-in ends** with the date and offers **Sign in again**, and keeps
working until then.

### With an API key

Anthropic, DeepSeek and Z.ai. Click **Add API key** and paste your key. **Get a key** opens the provider's page that
issues keys. Lookout checks the key with the provider, and a key the provider refuses is not kept.

Anthropic is one provider with two kinds of access: a Claude Pro or Max plan (**Sign in with Claude**, bought on
claude.ai) and an API key from the Claude Console (**Add API key**, billed per token). Either works alone, or both
together, and the Anthropic row lists every account of both, each naming its kind (**Claude Max**, **API key**). Its
**Add account** offers **Sign in with Claude** first and **Add API key** second; the key goes in a dialog whose **Get a
key** opens the Claude Console's API keys page. The key's models have their own IDs (`anthropic/` and the model's
name), so a chat says which bill it runs on, and where the model menu lists a model on both, each row says **On your
Claude plan** or **On your API key**. The provider reports no balance for a normal key, so the key's line shows budget
left: the budget you set minus what Lookout counted as spent on this device, at Anthropic's list prices ([Read a
plan's meters](https://lookout.itoowasinarcadia.com/docs/usage#meters)). That is not Anthropic's remaining credit. To bring in a key you keep in the macOS
Keychain without pasting it:

```sh
lookout providers import-key anthropic --keychain SERVICE [--keychain-account ACCOUNT] [--models claude-haiku-5-5] [--budget 100]
```

The key is read from the Keychain item, checked with Anthropic and kept like a pasted one, and it is never printed.
`--models` limits the account to those models (the others stay listed as **not enabled for this key**), and
`--budget` stops it once its spend reaches that many US dollars.

### With another app's sign-in

Cognition's Devin signs in through its own command-line app. When that app is signed in on this device, **Sign in
with Devin** uses its sign-in. When it isn't, the row shows the command to run first: run it in a terminal and sign in, and
Lookout picks the sign-in up by itself.

| Provider | App | Command |
|---|---|---|
| Cognition | The Devin CLI | `devin auth login` |

### A free tier

OpenCode needs no sign-in, and its free models are on from the start. To take them out of the model menu, open the
OpenCode row and choose **Remove** from its menu. **Add** brings them back. This choice stays on the device you make
it on. MiMo V2.6 Flash runs in chats only: OpenCode refuses it to subagents and workflow agents, so neither is offered
it.

When OpenCode's free tier refuses Lookout's client altogether, the chat that hit it says so, its row in
**Settings › Providers** reads **Refused Lookout's client since** the day it began, with what OpenCode said when you
open the row, and its free models leave the model menu on that device until a request to OpenCode succeeds again.

## Providers

| Provider | What you need | Sign-in | Accounts | Web search |
|---|---|---|---|---|
| Anthropic | A Claude Pro or Max plan, a Claude API key billed per token, or both | [In the browser](https://lookout.itoowasinarcadia.com/docs/models#browser), [API key](https://lookout.itoowasinarcadia.com/docs/models#api-key) | Up to 15 of each | Yes |
| Cognition | A Devin seat | [The Devin CLI](https://lookout.itoowasinarcadia.com/docs/models#other-app) | 1 | Yes |
| Command Code | A Command Code plan | [In the browser](https://lookout.itoowasinarcadia.com/docs/models#browser) | Up to 15 | No |
| DeepSeek | A prepaid DeepSeek API balance | [API key](https://lookout.itoowasinarcadia.com/docs/models#api-key) | Up to 15 | No |
| Google | A Google Antigravity plan | [In the browser](https://lookout.itoowasinarcadia.com/docs/models#browser) | Up to 15 | No |
| Meta | A Muse Code subscription | [Code](https://lookout.itoowasinarcadia.com/docs/models#code) | Up to 15 | Yes |
| Moonshot AI | A Kimi Code membership | [Code](https://lookout.itoowasinarcadia.com/docs/models#code) | Up to 15 | No |
| OpenAI | A ChatGPT plan | [In the browser](https://lookout.itoowasinarcadia.com/docs/models#browser) | Up to 15 | Yes |
| OpenCode | Nothing: free models from OpenCode Zen | [None](https://lookout.itoowasinarcadia.com/docs/models#free-tier) | None | No |
| SpaceXSI | A SuperGrok subscription | [Code](https://lookout.itoowasinarcadia.com/docs/models#code) | Up to 15 | Yes |
| Z.ai | A Z.ai Coding Plan | [API key](https://lookout.itoowasinarcadia.com/docs/models#api-key) | Up to 15 | Yes |

With web search, the agent can search the web while it works. On every model it can still read a web page whose
address it has. Several accounts on one provider: [Accounts and usage](https://lookout.itoowasinarcadia.com/docs/usage#add-account).

## Models

A new install lists these models. Once you sign in, the list follows your account: a plan can add a model or a
context window, a model your plan doesn't include reads **Not on your plan**, and one the provider is retiring shows
**Retires** and the date. **Settings › Providers** lists what your account has. The ID is what `lookout exec -m`
takes.

| Provider | Model | Variant | Context | Effort | ID |
|---|---|---|---|---|---|
| Anthropic, API key | Fable 5.1 |  | 1M | Low to Max | `anthropic/claude-fable-5-1` |
| Anthropic, API key | Haiku 5.5 |  | 1M | Low to Max | `anthropic/claude-haiku-5-5` |
| Anthropic, API key | Opus 5.5 |  | 1M | Low to Max | `anthropic/claude-opus-5-5` |
| Anthropic, API key | Sonnet 5.5 |  | 1M | Low to Max | `anthropic/claude-sonnet-5-5` |
| Anthropic, Claude plan | Fable 5.1 |  | 1M | Low to Max | `claude-fable-5-1` |
| Anthropic, Claude plan | Haiku 5.5 |  | 1M | Low to Max | `claude-haiku-5-5` |
| Anthropic, Claude plan | Opus 5.5 |  | 1M | Low to Max | `claude-opus-5-5` |
| Anthropic, Claude plan | Sonnet 5.5 |  | 1M | Low to Max | `claude-sonnet-5-5` |
| Cognition | Gemini 4 Argon |  | 1M | Low to High | `gemini-4-argon` |
| Cognition | SWE-2 |  | 262K | Medium to Max | `swe-2` |
| Command Code | DeepSeek V4.1 Flash |  | 1M | None to Max | `deepseek-v4.1-flash` |
| Command Code | MiMo V2.6 Pro |  | 1M | Not adjustable | `mimo-v2.6-pro` |
| DeepSeek | DeepSeek V4.1 Flash |  | 1M | None to Max | `deepseek-flash` |
| Google | Gemini 3.8 Flash |  | 1M | Low to High | `gemini-3.8-flash` |
| Meta | Spark 1.3 |  | 1M | Minimal to Extra high | `muse-spark-1.3` |
| Meta | Spark 1.3 | Contributor | 1M | Minimal to Max | `muse-spark-1.3-contributor` |
| Meta | Wonder 1.0 |  | 1M | Minimal to Max | `muse-wonder-1.0` |
| Meta | Wonder 1.0 | Contributor | 1M | Minimal to Max | `muse-wonder-1.0-contributor` |
| Meta | Wonder 1.0 Full |  | 1M | Minimal to Max | `muse-wonder-full-1.0` |
| Meta | Wonder 1.0 Full | Contributor | 1M | Minimal to Max | `muse-wonder-full-1.0-contributor` |
| Moonshot AI | Kimi K2.8 Preview |  | 1M | Low to Max | `kimi-for-coding` |
| Moonshot AI | Kimi K3 |  | 262K | Low to Max | `k3-256k` |
| Moonshot AI | Kimi K3 |  | 1M | Low to Max | `k3` |
| OpenAI | GPT-6 Astra |  | 272K | Low to Max | `gpt-6-astra` |
| OpenAI | GPT-6 Astra | Fast | 272K | Low to Max | `gpt-6-astra:priority` |
| OpenAI | GPT-6 Luna |  | 272K | Low to Max | `gpt-6-luna` |
| OpenAI | GPT-6 Luna | Fast | 272K | Low to Max | `gpt-6-luna:priority` |
| OpenAI | GPT-6.1 Sol |  | 272K | Low to Max | `gpt-6.1-sol` |
| OpenAI | GPT-6.1 Sol | Fast | 272K | Low to Max | `gpt-6.1-sol:priority` |
| OpenCode | MiMo V2.6 Flash |  | 200K | Not adjustable | `mimo-v2.6-flash-free` |
| OpenCode | Space Bunny |  | 1M | Low to Max | `space-bunny-free` |
| SpaceXSI | Grok 4.7 |  | 256K | Low to Extra high | `grok-4.7` |
| SpaceXSI | Grok 4.7 | Fast | 256K | Low to Extra high | `grok-4.7-fast` |
| Z.ai | GLM-5.3 |  | 1M | Low to Max | `GLM-5.3` |
| Z.ai | GLM-5.3 Flash |  | 1M | Low to Max | `GLM-5.3-Flash` |

## Pick a model for a chat

1. In the message box, click the model's name (it reads with its effort, such as **Opus 5.5 Max**), or press `⌘E`.
2. Choose a model. Models are grouped by provider, each with its context and effort range; where Anthropic lists a
   model on both your Claude plan and your API key, each row says which. Past six, **Search models** filters them.
3. Send your message.

Each chat keeps its own model. Switch it at any time: a turn already running finishes on the model it started with,
and your next message runs on the new one. Its subagents that took the chat's model move along the next time they
run; one you put on a model of its own keeps it ([subagents](https://lookout.itoowasinarcadia.com/docs/subagents#model)). A new chat starts on the model
you picked last, while it or the same model from another provider can run. Lookout never moves a chat onto a provider
billed per token, such as an API key, without you choosing it: when only such a provider could run it, the message box
offers the switch instead ([When a model can't run](https://lookout.itoowasinarcadia.com/docs/models#cant-run)).

From a terminal, name a model by its ID:

```sh
lookout exec -m ID --effort LEVEL "PROMPT"
lookout resume THREAD -m ID "PROMPT"
```

An ID whose provider is signed out or doesn't offer it here runs as the same model on another provider you have, and
the run says where first, as long as that provider isn't billed per token: `anthropic/claude-haiku-5-5` with no
Anthropic key and a Claude plan connected runs as `claude-haiku-5-5`. The other way round is never automatic:
`claude-haiku-5-5` with no Claude plan connected and an Anthropic key added stops before the run and names the
command that runs it on the key, billed per token (`lookout exec -m anthropic/claude-haiku-5-5`). An ID that can run here
always runs as named. `resume` with `-m` switches that chat to the model. `--effort` takes none, minimal, low, medium,
high, xhigh or max; a level the model doesn't offer moves down to the closest level it has, or up to its lowest when it
has none below ([Choose the effort](https://lookout.itoowasinarcadia.com/docs/models#effort)). Leave it out for a model whose effort is not adjustable:
Lookout refuses the run otherwise.

## Choose the effort

Effort sets how long the model reasons before it answers: lower is faster, higher is smarter. The level follows
the model's name in the message box, a shade lighter, and the same menu sets both: the effort sits under the models.

1. Click the model's name, or press `⌘E` in the message box to go straight to the effort.
2. Move the slider between **Faster** and **Smarter**, or use `←` and `→` (from any model row too).
3. Press `⏎` to keep it, or `Esc` to go back to the level you had.

You can also type `/effort` and one of the model's levels in the message box: `/effort high`, `/effort extra high`, or a
number counting from the model's lowest level. The levels, lowest first, are None, Minimal, Low, Medium, High, Extra
high and Max. Each model offers some of them, from the lowest to the highest the Effort column above names; some skip
a level in between, and the slider shows only the model's own. When you switch models, the effort moves to the nearest
level the new model has at or below it, or to its lowest when it has none below: Max on a model that tops out at Extra
high runs at Extra high. A model whose effort is not adjustable shows its name alone, and its menu no slider.

A change of effort while a turn runs applies from that turn's next request; a change of model waits for the turn to end. The chat notes each change, who made it (you, an MCP client by its name, the fallback policy) and when it applies.

## Turn on a variant

A variant is an option on the same model, such as Fast or Contributor. When the chat's model has one, a button sits
before the model's name.

1. Click it to turn the variant on or off. Its tooltip says what the variant does.
2. Or type `/` in the message box and choose the variant's command, followed by `on` or `off`.

Lookout remembers your choice for that model. A variant can be on by default: in **Settings › Providers**, the
tooltip on the variant's badge says so. A variant can also widen the effort range: with Contributor on, Spark 1.3 adds
Max.

## Pick a context window

A model with more than one context window is still one row in the model menu. Under the chat's model, the menu offers
its windows: a **Long context** switch when there are two, a **Context** list when there are more.

## When a model can't run

The model menu lists the models that can run now. A chat whose model can't run says why above the message box, and
offers **Use** with the same model on a provider that can run it, named (**Use Haiku 5.5 on your API key, billed per
token**), else with the model a new chat would start on. A switch onto a provider billed per token happens only when
you click it. While the chat's stopped turn offers **Continue on**, the sentence drops **Choose a model** and **Use**:
Continue on is the one move there. A provider whose sign-in expired, or whose plan is used up, never moves a chat to
another provider on its own: sign in again, or see [Accounts and usage](https://lookout.itoowasinarcadia.com/docs/usage#plan-runs-out).

| The message box says the model isn't available because | What to do |
|---|---|
| The provider isn't connected | [Connect the provider](https://lookout.itoowasinarcadia.com/docs/models#connect). |
| The provider is signed out | Sign in to it again in **Settings › Providers**. |
| The provider needs a sign-in | The sign-in expired: click **Sign in again** on the provider's row. |
| The provider refused the sign-in | Click **Sign in again** on the provider's row. |
| The provider has no active plan | The plan was canceled or expired: renew it with the provider, or remove the account on the provider's row. |
| It isn't on your plan | Pick another model, or change your plan with the provider. |
| The provider refuses Lookout's client | Pick another model: [its free tier](https://lookout.itoowasinarcadia.com/docs/models#free-tier) stopped serving Lookout. |
| It isn't available right now | Pick another model. |

A spent plan doesn't stop you from picking a model: the menu says when its limit resets, and
[Accounts and usage](https://lookout.itoowasinarcadia.com/docs/usage#plan-runs-out) says what happens next. `lookout exec` exits with code 4 when the
model's provider needs a sign-in.

## Related

- [Accounts and usage](https://lookout.itoowasinarcadia.com/docs/usage.md): Use several accounts per provider, choose how Lookout routes between them, and see what each plan has left.
- [Troubleshooting](https://lookout.itoowasinarcadia.com/docs/troubleshooting.md): Find your symptom and its fix, run the doctor check, and collect what to send when you need help.
