Skip to content
ArcadiaLookoutDocs

Match the message you see to a section below. A word in capitals, such as MODEL, stands for what the message names.

Find your error

MessageGo to
Stopped, Interrupted, Paused, Round limit reached, Context full, Output limit reached, Plan limit reached, Declined, FailedHow a turn ends
PROVIDER's 5-hour limit is used up, resets in 2h 10m, PROVIDER's weekly limit is used upPlan limit used up
MODEL's plan limit is used up, resets in 2h 10m, MODEL's own limit is used upPlan limit used up
PROVIDER needs you to sign in again, PROVIDER refuses ACCOUNT: sign it in again or use another accountSign in again
MODEL is limiting requests right now, try again in a momentLimiting requests
The turn stopped: MODEL was overloaded or unreachableOverloaded or unreachable
MODEL declined to answer this, PROVIDER declined this request on MODELDeclined to answer
PROVIDER refused this request as a third-party app. Nothing was billed. This is a Lookout bug: please report itRefused as a third-party app
Retrying, Retried 3 times, Waiting on the provider's rate limitRetrying
Couldn't reach the provider.Couldn't reach the provider
The provider closed the connection.The provider closed the connection
Reached the limit of 512 model rounds before the turn endedRound limit
Context is not convergingContext is not converging
context window exceeded and compaction could not recoverContext window exceeded
The model answered the closing round with tool callsClosing round with tool calls
The model's response hit the output limit 2 times in a rowOutput limit
The model's response stream kept breaking before it finishedStream kept breaking
Still over the context budget after summarizingCompaction notes
MODEL isn't available: PROVIDER is signed out. Choose a modelModel isn't available
Microphone access is off, Dictation kept and the other dictation toastsDictation failed
Lookout could not startLookout could not start
This browser isn't signed in to this LookoutThe browser isn't signed in
macOS says Lookout is damaged and can't be openedmacOS says Lookout is damaged
The update didn't installThe update didn't install
lookout: not signed in on this machine: run lookout loginNot signed in
lookout: the Lookout app (pid N) is signed out of your Lookout accountThe app is signed out
lookout: lookout VERB is the USER's to runYours to run
lookout: MACHINE is offlineMachine unavailable
lookout: cannot reach the Lookout account serviceAccount service unreachable
lookout: unknown command "WORD"Unknown command
Another message starting with lookout:In the terminal
An exit code from lookoutExit codes
An error code in a connected app, such as machine_unavailableIn another app

How a turn ends

The line under a turn says how long it took. When the turn didn't finish on its own, the line also says how it ended, unless the notice right above it already does (a failed, spent or declined turn's): then the time's tooltip says it. A spent plan's or a rate limit's notice is a quiet wait, a declined one's a warning, and only a failure's is red.

LineWhat happenedWhat to do
StoppedYou stopped the turn.Send a message to go on.
InterruptedLookout stopped while the turn was running, such as in a crash.Click Continue to pick it up where it stopped.
PausedAn update or a restart paused the turn.Nothing: it picks back up when Lookout starts again. If it doesn't, click Continue.
Round limit reachedThe turn used all 512 of its model rounds.See Round limit.
Context fullThe work didn't fit the model's context, even after compaction.See When the context runs out.
Output limit reachedThe model's reply was cut off at its output limit twice in a row.See Output limit.
Plan limit reachedThe plan behind the model ran out.See When a plan runs out.
DeclinedThe model declined to go on. Any answer above the line is not complete.See Declined to answer.
FailedThe turn failed. The notice above the line says why.Find the notice's message on this page.

A turn that picked back up shows where, with Paused for update, Paused for restart, Interrupted, continued or Interrupted, resumed automatically.

In a chat

A failed turn ends with a notice. Details shows the provider's own message and, when the provider gave one, its Request ID for the request (quote it when you report the failure to the provider). Copy details (⇧⌘⏎) copies both. The buttons under the notice retry the turn on the same model or another: see Try again after an error. A retry that fails the same way (the same message from the same model) doesn't add a second notice: the one notice stays, and its Details say how often it failed, such as Failed 2 times, last at 12:57 PM.

The provider's own message is for you, never for a model. An agent, a parent chat or a subagent's parent hears only the kind of failure and the provider that reported it, such as declined by the provider (claude), so a refusal never spreads to the chats that read about it. lookout check, lookout sessions and the connected-app tools say it the same way; --detail (or detail: true) adds the message.

PROVIDER's 5-hour limit is used up

The plan behind the model has no room left. When the provider says which of its windows ran out, the notice names it, the 5-hour or the weekly limit, and the provider rather than the model: every model on that plan stops the same way until the reset. When only the model's own limit ran out (a plan can limit one model on its own, such as Fable's weekly limit on a Claude plan), it reads MODEL's own limit is used up, and the plan's other models still run. Otherwise it reads MODEL's plan limit is used up. The notice says when it resets, and hovering it shows the date and time. Continue on under the notice moves the turn to a model whose plan has room (no model of the spent plan is listed, and one billed per token reads Per token), or Wait for the reset. A chat with fallback models offers the first one whose plan has room first. With more than one account on the provider, see When a plan runs out. lookout exec exits with code 3.

PROVIDER needs you to sign in again

The provider refused the sign-in Lookout has for it. A spent plan never reads this way: that is Plan limit used up. Click Sign in again under the notice: Lookout reads the provider's accounts again first, and if one of them can serve (you signed in meanwhile, or added another account), the turn goes on at once. Otherwise it opens the provider's row in Settings › Providers, and the same menu offers other models. Once an account serves again, the stopped turn, subagent or workflow agent goes on by itself where it stopped, unless you pressed Stop meanwhile: Stop ends that wait, and Sign in again or Retry still runs the turn. lookout exec exits with code 4.

PROVIDER refuses ACCOUNT is the same stop for one account: the provider turned that account away (its plan ended, or its organization's access is off) and no other account could take the request. With other accounts that have room, the turn never stops this way: it moves to one of them, and the refused account reads Refused by the provider in Settings › Providers until a new sign-in or a usage read shows it working (Read a plan's meters). With every other account's limit used up, it stops on Plan limit used up instead, naming the refused account, and waits for the first of the others to reset.

MODEL is limiting requests right now

The provider is pacing requests, for example with many chats running at once. Lookout keeps backing off for a few minutes, honoring a Retry-After, and the chat shows Waiting on the provider's rate limit while it does. A spent plan is different: that fails at once with its reset. If the wait runs out, your plan still has room. Click Retry in a moment, or pick another model from its chevron.

The turn stopped: MODEL was overloaded or unreachable

The provider had a server error or was overloaded, timed out, couldn't be reached or sent an empty reply, and Lookout's own retries didn't get through. An overloaded provider that says how long to wait is waited out on the same model for up to a few minutes first, and the Retrying row says the provider asked to wait. Nobody knows when the provider recovers, so the turn doesn't go on by itself: the notice is red, and the chat shows the red alert under Needs you. Click Retry, or pick another model from its chevron.

Retrying

A request failed for a reason that usually passes, and Lookout is sending it again: Retrying names the reason and the attempt, such as attempt 2 of 8. A rate limit that does not mean the plan is spent waits longer, and the row reads Waiting on the provider's rate limit while it does. Afterwards the row reads Retried request, Retried 3 times, or Waited on the provider's rate limit. Nothing to do unless the turn then fails.

Couldn't reach the provider

Lookout couldn't connect to the model's provider: the network is down, or something on it blocks the provider. It shows on a Retrying row or a subagent's card. Check your connection. If the retries run out, the turn fails with The turn stopped: MODEL was overloaded or unreachable.

The provider closed the connection

The provider ended the connection before its reply was complete. Lookout retries on its own; if the turn fails, retry it.

Reached the limit of 512 model rounds before the turn ended

A turn makes at most 512 model rounds: a request to the model and the tool calls it makes in answer. Reaching it can mean the agent was going in circles. The turn ends with Round limit reached. Send a follow-up message to continue, with a narrower request if the agent was looping.

Context is not converging

The agent kept reading more than the model's context holds: after each compaction, the context filled up again. The turn ends with Context full. Ask for the work in smaller parts, for example reading large files in ranges, or split the task across chats.

context window exceeded and compaction could not recover

The provider refused the request as too large for the model, or, before sending, Lookout found the next request larger than the model's window. Compaction ran, then a last clear of tool output, and the request still did not fit. Start a new chat from a summary, or switch to a model with a larger window.

The model answered the closing round with tool calls

When the context runs out, Lookout asks the model for a final report without tools. This model called tools instead, and they weren't run. Send a follow-up message to continue.

The model's response hit the output limit 2 times in a row

The model's reply was cut off at its output limit, and cut off again after Lookout asked it to continue. The turn ends with Output limit reached. Ask for smaller steps, for example writing a large file in parts.

The model's response stream kept breaking before it finished

The provider's reply broke off twice in a row before it was complete. Retry the turn, or pick another model.

MODEL declined to answer this

The model refused to answer the request, or stopped partway through an answer and declined to go on: then the answer above the notice is not complete, and the notice's mark is a warning, not a failure. Tool calls in a declined answer never run, since one may be cut off partway; each says it wasn't run. Details shows the reason the provider gave, if any, such as its category. Rephrase the request, or pick another model from Try again's chevron.

The notice names the provider that declined (PROVIDER declined this request on MODEL). What a provider declines is often something new in the chat, such as a file the agent just read, and every later request carries it again. Retry without these N items takes the entries added since the last request that provider answered out of its context and runs the turn again; another provider's models still read them. The entries stay in the chat, dimmed and marked Removed from context, with Undo. To take any other entry out, right-click it and choose Remove from context. An agent's chat, a subagent, and a chat an agent or an orchestrator such as Claude Code started do this once by themselves, or go on with a fallback model on another provider, and say so in a row. They wait for you instead when what was declined holds your own message, and a chat someone else started waits for you on a turn you typed or retried there.

PROVIDER refused this request as a third-party app

The provider read Lookout's request as one from a third-party app, which a plan serves only from paid extra usage, and with extra usage off it refused it. Nothing was billed: Lookout never spends extra usage. Lookout's requests are built not to read this way, so this is a bug in Lookout. How to report, under the notice or in the stop's details, opens Collect a report; quote the Request ID from Details. A retry on the same provider fails the same way. A chat with fallback models goes on by itself on the next one another provider serves, for that turn only; its next turn starts on its own model again. A subagent or a workflow agent does the same through its chat's fallback models or its call's models, for that run only. Otherwise, when the chat may use a model from another provider, the notice leads with Continue on that model and Retry waits in its menu; with none, Retry leads.

Compaction notes

The Context summarized and Context cleared rows can carry a note:

NoteWhat it means
Still over the context budget after summarizing (or after clearing)Compaction didn't free enough room. If the chat keeps filling up, the turn ends with Context full.
A summary was rejected and redoneA summary failed Lookout's checks and was written again. Nothing to do.
A summary could not be written, so only tool output was clearedLookout freed room by clearing tool output only. The agent can read the cleared output again.

See Context and compaction.

Other messages from a provider

When a provider refuses a request for any other reason, the notice shows the provider's own message. Retry, or pick another model. If it keeps happening, collect a report.

In the message box

MODEL isn't available: REASON. Choose a model

The chat's model can't run, so the message box says why. Use MODEL beside it switches the chat to the same model on another provider you have (Use Haiku 5.5 on your API key, billed per token), else to the model a new chat would start on. A switch that names billed per token moves the chat onto a provider that charges for each token, and happens only when you click it. While the chat's stopped turn offers Continue on, the box says only why, with no Choose a model and no Use: Continue on is the move, and an empty send runs it. A failed turn whose model can't run leads with Continue on another model, never a Retry on the one that can't. The reasons:

REASONWhat to do
PROVIDER isn't connectedConnect the provider. PROVIDER is the company (OpenAI, Anthropic), or for Anthropic its kind of access (your Claude plan, your API key).
PROVIDER is signed outSign in to it again in Settings › Providers.
PROVIDER needs a sign-inThe sign-in expired: click Sign in again on the provider's row in Settings › Providers.
PROVIDER refused the sign-inClick Sign in again on the provider's row in Settings › Providers.
PROVIDER has no active plan (renew it, or remove the key)The provider says the plan was canceled or expired. Renew it with the provider (Renew plan on the account in Settings › Providers when Lookout knows the page), or remove the key or sign out there. A subagent or a delegated chat on that model is refused with the same sentence.
it isn't on your planPick another model.
PROVIDER refuses Lookout's clientPick another model: the provider's free tier stopped serving Lookout (A free tier).
not enabled for this key on AnthropicPick another model: the key was added with --models naming others.
it isn't available right nowPick another model.

See When a model can't run.

Dictation

Dictation failed

The toast's title says what went wrong:

TitleWhat to do
Microphone access is offAllow Lookout to use the microphone. In the Mac app, Open Settings on the toast opens Privacy & Security, Microphone; in a browser, allow it in the site's settings.
No microphone foundConnect a microphone.
The microphone didn't startQuit the app that uses it, then try again.
Dictation keptLookout didn't answer, so the take waits on this Mac. Click Retry once Lookout is back (it sends the same recording), or find it under Recent dictations with a right click on the microphone.
Dictation kept, not transcribedThe toast says why, and the take waits on this Mac. Downloading the speech model (40%). Try again in a moment. means the first dictation is downloading the speech model: wait for it, then click Retry.

In the Mac app

Lookout could not start

The app couldn't start its server, and quits after this dialog:

The dialog saysWhat to do
Another Lookout server is runningQuit other copies of Lookout, then open it again.
Lookout's bundled runtime is missing or Lookout's bundled server is missingReinstall the app.
Lookout server did not startOpen it again. If it fails again, read server.log (see Logs).

When the dialog follows an update, it reads Lookout VERSION couldn't start and offers Go Back to the version you had before. Lookout then won't install the version that failed again.

The update didn't install

The restart to update failed, and Lookout is still running the version it had. Settings › General › Software update has the details.

In the terminal

The lookout command starts each error with lookout: and ends with an exit code.

not signed in on this machine: run lookout login

This machine isn't on your Lookout account. Run lookout login. Exit code 4.

On a Mac with the Lookout app, open the app and sign in there instead: while it runs signed in, lookout works through it with no login of its own (On a Mac with the app).

the Lookout app (pid N) is signed out of your Lookout account

The Lookout app runs on this Mac, but it isn't signed in to your account, so lookout has no account to go through. Sign in from the app. Exit code 4.

lookout VERB is the USER's to run

An agent ran a command from its chat's Shell that only you run, such as rename or providers sync. Run it yourself in the app or a terminal. Exit code 2.

lookout VERB takes this machine's own account keys

On a Mac with the Lookout app, devices, recovery-key, remove and choosing a provider's copy change your account's devices or keys, which only the app does. Use the place the message names in the app's Settings. Exit code 4.

this machine's account session ended: run lookout login

Your account no longer holds this machine's session: it was revoked, expired or replaced. Run lookout login. Exit code 4.

this machine was removed from your account

Another of your devices removed this machine from your account. Run lookout login to add it again. Exit code 4.

the Lookout account refused this machine's signature

The account couldn't verify this machine's request, most often because the machine's clock is off. Set the clock right, then try again. The machine stays signed in. Exit code 1.

MACHINE is offline

The machine you named with --on can't take the call. The message says it is offline, asleep, signed out or degraded, and why, such as vps-1 is offline (Lookout quit 3 min ago). Check it with lookout machines, and see Check a machine's status. Exit code 5.

cannot reach the Lookout account service

This machine couldn't reach your Lookout account. The message reads cannot reach the Lookout account service at ADDRESS, or names the service and says it did not answer within 10s or failed (HTTP 502); try again shortly. Check the connection, then try again. Exit code 6.

unknown command "WORD"

The first word isn't a lookout command. A single word is never sent as a prompt: when a command is close, the message asks if you meant it, and lookout exec "WORD" sends the word as a prompt. lookout --help lists the commands. Exit code 2.

a prompt is required

lookout exec needs a prompt: pass one, pipe it in, or pass - to read it from stdin. Exit code 2.

unknown thread "ID"

No chat on this machine has that ID. On another machine the message reads no thread ID on MACHINE. Copy ID in a chat's menu copies its ID, and lookout sessions lists a machine's chats. Exit code 2.

Exit codes

CodeMeaningWhat to do
0The command finished; a run's turn ended normally.Nothing.
1The turn or the command failed; stderr says why.Read the error, then run it again or resume the chat.
2The command line was wrong: an unknown command or flag, a missing value, an unknown chat.Run lookout VERB --help for its usage.
3The model's plan ran out for now.Wait for the plan to reset, or run with another model or account.
4A sign-in is missing: the provider's, or this machine's on your Lookout account.For a provider, sign in again in Settings › Providers (lookout providers sync brings it to another machine); for this machine, run lookout login.
5The machine is offline, asleep, signed out or not answering.Check it with lookout machines, then try again once it is online.
6This machine could not reach the Lookout account service.Check the connection, then try again.
130The run was stopped (Ctrl-C, or lookout stop).Resume the chat to carry on.

In another app

A connected app gets a refused call back as an error with a code and a message, and most often next: what to do instead, often the tool to call. Where calling again can help, retry says when: soon, later, or check_first when the call may already have run.

CodeWhat happened
lookout_unreachableLookout isn't running on that machine, or is still starting. Call again in a moment.
machine_unavailableThe machine is offline, asleep, signed out or didn't answer in time. lookout_machines shows when it is back.
network_unavailableThe Lookout account service isn't answering, or this machine can't reach it. Call again later.
machine_not_foundNo machine on your account has that name.
signed_outThis Lookout isn't signed in to your account.
busyA running turn, a compaction or a restore holds the chat. Wait for it with lookout_check.
not_foundNo chat or project has that ID (or, for a chat, starts with it). lookout_fleet lists the chats.
ambiguousSeveral chats' IDs start with that short ID. candidates lists each one's full ID, title, lane and state: call again with the one you mean.
agent_one_chatThat project or folder is a Lookout agent's, and an agent keeps one conversation: no new chat starts there. threadId is its chat: send to it with lookout_steer.
unknown_model, model_unavailableThat model doesn't run now. lookout_models lists the ones that do. When a provider billed per token serves the same model, next names its exact ID: call again with it only if you want that spend.
plan_spentThat model's plan is spent until resetsAt (planSpent), and the chat has no onQuota policy. openModels lists the models whose plans are open now: pass one, or onQuota: "wait" to wait for the reset (a lookout_retry waits with wait: true).
grant_neededYou haven't given that app the permission the call needs on this machine. setting names the place: Add projects (how) or Configure agents (how) in Settings › App access. For a folder, closest names the projects nearest it until then: pass one's ID.
outside_grantThe folder is outside what you let that app add as projects. allowed lists where it may.
outside_rootsThe MCP server was started with allowed folders, and this one is outside them. A chat's cwd must sit inside its project or under those folders too. closest names the projects nearest it: pass one's ID.
title_too_longA rename over 40 characters, a sidebar title's limit, from anyone but you (lookout_configure, an agent, a model); your own renames go to 120. Nothing in the call changed: pass 2 to 6 words and put the goal in a message.
invalid_argumentThe call is wrong as the message says.

See App access to connect one, and MCP tools for every tool.

  • Troubleshooting: Find your symptom and its fix, run the doctor check, and collect what to send when you need help.
  • Models and providers: Connect the providers you have a plan with, then pick a model, its effort and its variant for each chat.
  • Accounts and usage: Use several accounts per provider, choose how Lookout routes between them, and see what each plan has left.