Skip to content
ArcadiaLookoutDocs

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.

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).

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.

ProviderAppCommand
CognitionThe Devin CLIdevin 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

ProviderWhat you needSign-inAccountsWeb search
AnthropicA Claude Pro or Max plan, a Claude API key billed per token, or bothIn the browser, API keyUp to 15 of eachYes
CognitionA Devin seatThe Devin CLI1Yes
Command CodeA Command Code planIn the browserUp to 15No
DeepSeekA prepaid DeepSeek API balanceAPI keyUp to 15No
GoogleA Google Antigravity planIn the browserUp to 15No
MetaA Muse Code subscriptionCodeUp to 15Yes
Moonshot AIA Kimi Code membershipCodeUp to 15No
OpenAIA ChatGPT planIn the browserUp to 15Yes
OpenCodeNothing: free models from OpenCode ZenNoneNoneNo
SpaceXSIA SuperGrok subscriptionCodeUp to 15Yes
Z.aiA Z.ai Coding PlanAPI keyUp to 15Yes

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.

ProviderModelVariantContextEffortID
Anthropic, API keyFable 5.11MLow to Maxanthropic/claude-fable-5-1
Anthropic, API keyHaiku 5.51MLow to Maxanthropic/claude-haiku-5-5
Anthropic, API keyOpus 5.51MLow to Maxanthropic/claude-opus-5-5
Anthropic, API keySonnet 5.51MLow to Maxanthropic/claude-sonnet-5-5
Anthropic, Claude planFable 5.11MLow to Maxclaude-fable-5-1
Anthropic, Claude planHaiku 5.51MLow to Maxclaude-haiku-5-5
Anthropic, Claude planOpus 5.51MLow to Maxclaude-opus-5-5
Anthropic, Claude planSonnet 5.51MLow to Maxclaude-sonnet-5-5
CognitionGemini 4 Argon1MLow to Highgemini-4-argon
CognitionSWE-2262KMedium to Maxswe-2
Command CodeDeepSeek V4.1 Flash1MNone to Maxdeepseek-v4.1-flash
Command CodeMiMo V2.6 Pro1MNot adjustablemimo-v2.6-pro
DeepSeekDeepSeek V4.1 Flash1MNone to Maxdeepseek-flash
GoogleGemini 3.8 Flash1MLow to Highgemini-3.8-flash
MetaSpark 1.31MMinimal to Extra highmuse-spark-1.3
MetaSpark 1.3Contributor1MMinimal to Maxmuse-spark-1.3-contributor
MetaWonder 1.01MMinimal to Maxmuse-wonder-1.0
MetaWonder 1.0Contributor1MMinimal to Maxmuse-wonder-1.0-contributor
MetaWonder 1.0 Full1MMinimal to Maxmuse-wonder-full-1.0
MetaWonder 1.0 FullContributor1MMinimal to Maxmuse-wonder-full-1.0-contributor
Moonshot AIKimi K2.8 Preview1MLow to Maxkimi-for-coding
Moonshot AIKimi K3262KLow to Maxk3-256k
Moonshot AIKimi K31MLow to Maxk3
OpenAIGPT-6 Astra272KLow to Maxgpt-6-astra
OpenAIGPT-6 AstraFast272KLow to Maxgpt-6-astra:priority
OpenAIGPT-6 Luna272KLow to Maxgpt-6-luna
OpenAIGPT-6 LunaFast272KLow to Maxgpt-6-luna:priority
OpenAIGPT-6.1 Sol272KLow to Maxgpt-6.1-sol
OpenAIGPT-6.1 SolFast272KLow to Maxgpt-6.1-sol:priority
OpenCodeMiMo V2.6 Flash200KNot adjustablemimo-v2.6-flash-free
OpenCodeSpace Bunny1MLow to Maxspace-bunny-free
SpaceXSIGrok 4.7256KLow to Extra highgrok-4.7
SpaceXSIGrok 4.7Fast256KLow to Extra highgrok-4.7-fast
Z.aiGLM-5.31MLow to MaxGLM-5.3
Z.aiGLM-5.3 Flash1MLow to MaxGLM-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). 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.

  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.

The message box says the model isn't available becauseWhat to do
The provider isn't connectedConnect the provider.
The provider is signed outSign in to it again in Settings › Providers.
The provider needs a sign-inThe sign-in expired: click Sign in again on the provider's row.
The provider refused the sign-inClick Sign in again on the provider's row.
The provider has no active planThe plan was canceled or expired: renew it with the provider, or remove the account on the provider's row.
It isn't on your planPick another model, or change your plan with the provider.
The provider refuses Lookout's clientPick another model: its free tier stopped serving Lookout.
It isn't available right nowPick 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.

  • 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.