---
title: Error reference
description: The messages Lookout shows when something fails, what each one means and what to do.
canonical_url: https://lookout.itoowasinarcadia.com/docs/errors
type: help
section: Help
last_updated: 2026-10-23
related:
  - https://lookout.itoowasinarcadia.com/docs/troubleshooting
  - https://lookout.itoowasinarcadia.com/docs/models
  - https://lookout.itoowasinarcadia.com/docs/usage
---

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

# Error reference

The messages Lookout shows when something fails, what each one means and what to do.

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

| Message | Go to |
|---|---|
| **Stopped**, **Interrupted**, **Paused**, **Round limit reached**, **Context full**, **Output limit reached**, **Plan limit reached**, **Declined**, **Failed** | [How a turn ends](https://lookout.itoowasinarcadia.com/docs/errors#turn-endings) |
| `PROVIDER's 5-hour limit is used up, resets in 2h 10m`, `PROVIDER's weekly limit is used up` | [Plan limit used up](https://lookout.itoowasinarcadia.com/docs/errors#plan-limit) |
| `MODEL's plan limit is used up, resets in 2h 10m`, `MODEL's own limit is used up` | [Plan limit used up](https://lookout.itoowasinarcadia.com/docs/errors#plan-limit) |
| `PROVIDER needs you to sign in again`, `PROVIDER refuses ACCOUNT: sign it in again or use another account` | [Sign in again](https://lookout.itoowasinarcadia.com/docs/errors#sign-in-again) |
| `MODEL is limiting requests right now, try again in a moment` | [Limiting requests](https://lookout.itoowasinarcadia.com/docs/errors#limiting) |
| `The turn stopped: MODEL was overloaded or unreachable` | [Overloaded or unreachable](https://lookout.itoowasinarcadia.com/docs/errors#unavailable) |
| `MODEL declined to answer this`, `PROVIDER declined this request on MODEL` | [Declined to answer](https://lookout.itoowasinarcadia.com/docs/errors#declined) |
| `PROVIDER refused this request as a third-party app. Nothing was billed. This is a Lookout bug: please report it` | [Refused as a third-party app](https://lookout.itoowasinarcadia.com/docs/errors#third-party) |
| **Retrying**, **Retried 3 times**, **Waiting on the provider's rate limit** | [Retrying](https://lookout.itoowasinarcadia.com/docs/errors#retrying) |
| `Couldn't reach the provider.` | [Couldn't reach the provider](https://lookout.itoowasinarcadia.com/docs/errors#cant-reach) |
| `The provider closed the connection.` | [The provider closed the connection](https://lookout.itoowasinarcadia.com/docs/errors#connection-closed) |
| `Reached the limit of 512 model rounds before the turn ended` | [Round limit](https://lookout.itoowasinarcadia.com/docs/errors#round-limit) |
| `Context is not converging` | [Context is not converging](https://lookout.itoowasinarcadia.com/docs/errors#not-converging) |
| `context window exceeded and compaction could not recover` | [Context window exceeded](https://lookout.itoowasinarcadia.com/docs/errors#context-exceeded) |
| `The model answered the closing round with tool calls` | [Closing round with tool calls](https://lookout.itoowasinarcadia.com/docs/errors#closing-round) |
| `The model's response hit the output limit 2 times in a row` | [Output limit](https://lookout.itoowasinarcadia.com/docs/errors#output-limit) |
| `The model's response stream kept breaking before it finished` | [Stream kept breaking](https://lookout.itoowasinarcadia.com/docs/errors#stream-breaking) |
| `Still over the context budget after summarizing` | [Compaction notes](https://lookout.itoowasinarcadia.com/docs/errors#compaction) |
| `MODEL isn't available: PROVIDER is signed out. Choose a model` | [Model isn't available](https://lookout.itoowasinarcadia.com/docs/errors#model-unavailable) |
| **Microphone access is off**, **Dictation kept** and the other dictation toasts | [Dictation failed](https://lookout.itoowasinarcadia.com/docs/errors#dictation-failed) |
| **Lookout could not start** | [Lookout could not start](https://lookout.itoowasinarcadia.com/docs/errors#could-not-start) |
| **This browser isn't signed in to this Lookout** | [The browser isn't signed in](https://lookout.itoowasinarcadia.com/docs/troubleshooting#browser-link) |
| macOS says Lookout is damaged and can't be opened | [macOS says Lookout is damaged](https://lookout.itoowasinarcadia.com/docs/troubleshooting#damaged) |
| **The update didn't install** | [The update didn't install](https://lookout.itoowasinarcadia.com/docs/errors#update-didnt-install) |
| `lookout: not signed in on this machine: run lookout login` | [Not signed in](https://lookout.itoowasinarcadia.com/docs/errors#not-signed-in) |
| `lookout: the Lookout app (pid N) is signed out of your Lookout account` | [The app is signed out](https://lookout.itoowasinarcadia.com/docs/errors#app-signed-out) |
| `lookout: lookout VERB is the USER's to run` | [Yours to run](https://lookout.itoowasinarcadia.com/docs/errors#owners-step) |
| `lookout: MACHINE is offline` | [Machine unavailable](https://lookout.itoowasinarcadia.com/docs/errors#machine-unavailable) |
| `lookout: cannot reach the Lookout account service` | [Account service unreachable](https://lookout.itoowasinarcadia.com/docs/errors#account-unreachable) |
| `lookout: unknown command "WORD"` | [Unknown command](https://lookout.itoowasinarcadia.com/docs/errors#unknown-command) |
| Another message starting with `lookout:` | [In the terminal](https://lookout.itoowasinarcadia.com/docs/errors#terminal) |
| An exit code from `lookout` | [Exit codes](https://lookout.itoowasinarcadia.com/docs/errors#exit-codes) |
| An error `code` in a connected app, such as `machine_unavailable` | [In another app](https://lookout.itoowasinarcadia.com/docs/errors#mcp) |

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

| Line | What happened | What to do |
|---|---|---|
| **Stopped** | You stopped the turn. | Send a message to go on. |
| **Interrupted** | Lookout stopped while the turn was running, such as in a crash. | Click **Continue** to pick it up where it stopped. |
| **Paused** | An update or a restart paused the turn. | Nothing: it picks back up when Lookout starts again. If it doesn't, click **Continue**. |
| **Round limit reached** | The turn used all 512 of its model rounds. | See [Round limit](https://lookout.itoowasinarcadia.com/docs/errors#round-limit). |
| **Context full** | The work didn't fit the model's context, even after compaction. | See [When the context runs out](https://lookout.itoowasinarcadia.com/docs/context#full). |
| **Output limit reached** | The model's reply was cut off at its output limit twice in a row. | See [Output limit](https://lookout.itoowasinarcadia.com/docs/errors#output-limit). |
| **Plan limit reached** | The plan behind the model ran out. | See [When a plan runs out](https://lookout.itoowasinarcadia.com/docs/usage#plan-runs-out). |
| **Declined** | The model declined to go on. Any answer above the line is not complete. | See [Declined to answer](https://lookout.itoowasinarcadia.com/docs/errors#declined). |
| **Failed** | The 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](https://lookout.itoowasinarcadia.com/docs/chats#retry). 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](https://lookout.itoowasinarcadia.com/docs/usage#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](https://lookout.itoowasinarcadia.com/docs/usage#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](https://lookout.itoowasinarcadia.com/docs/errors#unavailable).

### 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](https://lookout.itoowasinarcadia.com/docs/troubleshooting#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:

| Note | What 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 redone` | A summary failed Lookout's checks and was written again. Nothing to do. |
| `A summary could not be written, so only tool output was cleared` | Lookout freed room by clearing tool output only. The agent can read the cleared output again. |

See [Context and compaction](https://lookout.itoowasinarcadia.com/docs/context#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](https://lookout.itoowasinarcadia.com/docs/troubleshooting#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:

| REASON | What to do |
|---|---|
| `PROVIDER isn't connected` | [Connect the provider](https://lookout.itoowasinarcadia.com/docs/models#connect). PROVIDER is the company (OpenAI, Anthropic), or for Anthropic its kind of access (`your Claude plan`, `your API key`). |
| `PROVIDER is signed out` | Sign in to it again in **Settings › Providers**. |
| `PROVIDER needs a sign-in` | The sign-in expired: click **Sign in again** on the provider's row in **Settings › Providers**. |
| `PROVIDER refused the sign-in` | Click **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 plan` | Pick another model. |
| `PROVIDER refuses Lookout's client` | Pick another model: the provider's free tier stopped serving Lookout ([A free tier](https://lookout.itoowasinarcadia.com/docs/models#free-tier)). |
| `not enabled for this key on Anthropic` | Pick another model: the key was added with [`--models`](https://lookout.itoowasinarcadia.com/docs/models#api-key) naming others. |
| `it isn't available right now` | Pick another model. |

See [When a model can't run](https://lookout.itoowasinarcadia.com/docs/models#cant-run).

## Dictation

### Dictation failed

The toast's title says what went wrong:

| Title | What to do |
|---|---|
| **Microphone access is off** | Allow 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 found** | Connect a microphone. |
| **The microphone didn't start** | Quit the app that uses it, then try again. |
| **Dictation kept** | Lookout 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 transcribed** | The 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 says | What to do |
|---|---|
| Another Lookout server is running | Quit other copies of Lookout, then open it again. |
| `Lookout's bundled runtime is missing` or `Lookout's bundled server is missing` | Reinstall the app. |
| `Lookout server did not start` | Open it again. If it fails again, read `server.log` (see [Logs](https://lookout.itoowasinarcadia.com/docs/files#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](https://lookout.itoowasinarcadia.com/docs/errors#exit-codes).

### 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](https://lookout.itoowasinarcadia.com/docs/cli#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](https://lookout.itoowasinarcadia.com/docs/machines#presence). 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

| Code | Meaning | What to do |
|---|---|---|
| `0` | The command finished; a run's turn ended normally. | Nothing. |
| `1` | The turn or the command failed; stderr says why. | Read the error, then run it again or resume the chat. |
| `2` | The command line was wrong: an unknown command or flag, a missing value, an unknown chat. | Run lookout VERB --help for its usage. |
| `3` | The model's plan ran out for now. | Wait for the plan to reset, or run with another model or account. |
| `4` | A 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. |
| `5` | The machine is offline, asleep, signed out or not answering. | Check it with lookout machines, then try again once it is online. |
| `6` | This machine could not reach the Lookout account service. | Check the connection, then try again. |
| `130` | The 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.

| Code | What happened |
|---|---|
| `lookout_unreachable` | Lookout isn't running on that machine, or is still starting. Call again in a moment. |
| `machine_unavailable` | The machine is offline, asleep, signed out or didn't answer in time. `lookout_machines` shows when it is back. |
| `network_unavailable` | The Lookout account service isn't answering, or this machine can't reach it. Call again later. |
| `machine_not_found` | No machine on your account has that name. |
| `signed_out` | This Lookout isn't signed in to your account. |
| `busy` | A running turn, a compaction or a restore holds the chat. Wait for it with `lookout_check`. |
| `not_found` | No chat or project has that ID (or, for a chat, starts with it). `lookout_fleet` lists the chats. |
| `ambiguous` | Several 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_chat` | That 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_unavailable` | That 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_spent` | That 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_needed` | You haven't given that app the permission the call needs on this machine. `setting` names the place: **Add projects** ([how](https://lookout.itoowasinarcadia.com/docs/other-apps#add-projects)) or **Configure agents** ([how](https://lookout.itoowasinarcadia.com/docs/other-apps#configure-agents)) in **Settings › App access**. For a folder, `closest` names the projects nearest it until then: pass one's ID. |
| `outside_grant` | The folder is outside what you let that app add as projects. `allowed` lists where it may. |
| `outside_roots` | The 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_long` | A 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_argument` | The call is wrong as the message says. |

See [App access](https://lookout.itoowasinarcadia.com/docs/other-apps) to connect one, and [MCP tools](https://lookout.itoowasinarcadia.com/docs/mcp) for every tool.

## Related

- [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.
- [Models and providers](https://lookout.itoowasinarcadia.com/docs/models.md): Connect the providers you have a plan with, then pick a model, its effort and its variant for each chat.
- [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.
