Use Lookout
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
- Open Settings › Providers, or choose Connect more providers at the bottom of the model menu in the message box.
- 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.
- 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.
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) andLOOKOUT_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).
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 [email protected] 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). 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
[email protected] starts the sign-in for that account, and the step says Approve as [email protected] 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). That is not Anthropic's remaining credit. To bring in a key you keep in the macOS
Keychain without pasting it:
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, API key | Up to 15 of each | Yes |
| Cognition | A Devin seat | The Devin CLI | 1 | Yes |
| Command Code | A Command Code plan | In the browser | Up to 15 | No |
| DeepSeek | A prepaid DeepSeek API balance | API key | Up to 15 | No |
| A Google Antigravity plan | In the browser | Up to 15 | No | |
| Meta | A Muse Code subscription | Code | Up to 15 | Yes |
| Moonshot AI | A Kimi Code membership | Code | Up to 15 | No |
| OpenAI | A ChatGPT plan | In the browser | Up to 15 | Yes |
| OpenCode | Nothing: free models from OpenCode Zen | None | None | No |
| SpaceXSI | A SuperGrok subscription | Code | Up to 15 | Yes |
| Z.ai | A Z.ai Coding Plan | 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.
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 | |
| 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
- In the message box, click the model's name (it reads with its effort, such as Opus 5.5 Max), or press ⌘E.
- 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.
- 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). 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).
From a terminal, name a model by its ID:
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). 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.
- Click the model's name, or press ⌘E in the message box to go straight to the effort.
- Move the slider between Faster and Smarter, or use
←and→(from any model row too). - Press
⏎to keep it, orEscto 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.
- Click it to turn the variant on or off. Its tooltip says what the variant does.
- Or type
/in the message box and choose the variant's command, followed byonoroff.
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.
| The message box says the model isn't available because | What to do |
|---|---|
| The provider isn't connected | Connect the provider. |
| 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 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 says what happens next. lookout exec exits with code 4 when the
model's provider needs a sign-in.
Related
- Accounts and usage: Use several accounts per provider, choose how Lookout routes between them, and see what each plan has left.
- Troubleshooting: Find your symptom and its fix, run the doctor check, and collect what to send when you need help.