# Errors and troubleshooting

Source: https://pilot.braike.com/en/docs/erreurs

Every message your assistant can receive from Pilot MCP, its cause, and the step that fixes it.

An error reaches your assistant in two forms. A **tool refusal** is a tool result marked as an error, whose text says what to do (scope and ad platform refusals start with `Error:`): your assistant relays it. A **connection refusal** is an HTTP response (`401`, `403`, `429`, `503`) with a short message in English, which your MCP client handles itself, for example by restarting the sign-in.

The messages below are the server's, word for word. Tool refusals are written in French: your assistant relays them in your language. Names and identifiers are examples.

## Tool refusals [#refus-outil]

### Account, property or site outside the scope [#perimetre]

```text
Error: Le compte publicitaire Google Ads 9999999999 n'est pas rattaché à cet espace Pilot. Comptes publicitaires Google Ads utilisables :
- Boutique FR (123-456-7890)
```

**Cause**: the tool names an account the workspace has not attached. **Fix**: ask the assistant to use an account from the list, or attach the account in **Connectors**. The other scope refusals, with their messages, are on [Account scope](/en/docs/perimetre-des-comptes#messages).

### Several accounts, none named [#plusieurs]

```text
Error: Cet outil agit sur un compte publicitaire Google Ads et cet espace Pilot en a plusieurs de rattachés : Pilot ne choisit pas le compte à votre place. Précisez le compte visé avec l'argument customer_id. Comptes publicitaires Google Ads utilisables :
- Boutique FR (123-456-7890)
- Boutique BE (222-222-2222)
```

**Cause**: the tool acts on one account and the workspace has several. **Fix**: tell the assistant which account to target.

### Unknown tool [#outil-inconnu]

```text
MCP error -32602: Tool google_update_campaign not found
```

**Cause**: the assistant calls a tool Pilot does not serve it: a write tool, a tool removed for a security reason, a full Pilot analysis, or a tool of a platform that is not connected or not included in your plan. **Fix**: Pilot MCP serves no write tool. If you just connected a platform, have your client reload the tool list (new conversation, or reconnecting the server). See [Ad platforms and their tools](/en/docs/regies).

### Invalid parameters [#parametres]

```text
MCP error -32602: Input validation error: Invalid arguments for tool google_get_campaign_performance: …
```

**Cause**: an argument outside the allowed list, out of bounds, or an incomplete object. The call does not reach the platform and does not count. **Fix**: the assistant corrects its arguments, from the tool's schema.

### Ad platform briefly unavailable [#regie-indisponible]

```text
Error: Le service google est temporairement indisponible. Réessayez dans quelques instants.
```

**Cause**: the platform failed several times in a row; Pilot pauses calls for a short while so as not to overload it. **Fix**: retry a few minutes later. A variant says the service temporarily refuses Pilot's configuration: the Pilot team is alerted, no action is needed on your side.

### Monthly call limit reached [#quota]

```text
Le forfait <forfait> de Pilot comprend <n> appels d'outils par mois, et ce compte les a tous utilisés. Les appels reprennent le 1er du mois prochain. Ce n'est pas une panne : c'est une limite du forfait <forfait>. Pour la lever, passez à un forfait supérieur : <lien vers l'abonnement>
```

**Cause**: the plan's call limit is reached. **Fix**: wait for the 1st of the month, or change plans from the link in the message. See [Limits and plans](/en/docs/limites-et-forfaits#a-la-limite).

### Subscription to settle [#abonnement]

```text
L'abonnement de cet espace est à régulariser. L'historique, les tableaux de bord et les documents restent consultables ; l'agent, la voix, les automatisations et la collecte reprendront dès la régularisation, depuis Paramètres > Abonnement.
```

**Cause**: an invoice is still unpaid after Stripe's retries (see [Failed payment](/en/docs/facturation#paiement-echoue)). The assistant's connection holds, but its tool calls are refused. The text is the same for full Pilot and Pilot MCP. **Fix**: pay the invoice from **Settings**, **Subscription** tab, **Manage subscription**: everything reopens at once.

### Archived workspace [#archive]

```text
Cet espace est archivé. Il est conservé 12 mois, puis supprimé définitivement ; son propriétaire peut le restaurer d'ici là depuis la liste des espaces.
```

**Fix**: the workspace owner restores it from the list of workspaces.

### Truncated response [#tronquee]

```text
[Réponse tronquée par Pilot : 412000 caractères au total, 100000 rendus. Le JSON qui suit est incomplet. Réduisez la période, filtrez, ou utilisez les paramètres limit et page de l'outil.]
```

**Cause**: an ad platform tool response exceeds 100,000 characters. Pilot keeps the beginning and puts this notice at the start and the end, so that no total is computed on a partial response without knowing it. **Fix**: ask for a shorter period, a filter, or pagination.

## In the application [#application]

This message shows in Pilot, not in your assistant.

### Full Pilot feature [#hors-offre]

```text
Cette fonction fait partie de Pilot complet. Cet espace est sur l'offre Pilot MCP, qui donne accès à vos régies depuis Claude, ChatGPT ou Cursor ; pour l'utiliser, passez à Pilot complet depuis Paramètres > Abonnement.
```

**Cause**: a full Pilot feature (chat, dashboards, automations…) was opened from a Pilot MCP workspace, in the application or through its API. Your assistant does not receive this message: Pilot MCP only serves it the offer's tools. **Fix**: see [Move to full Pilot](/en/docs/facturation#pilot-complet).

## Connection refusals [#refus-connexion]

| Code | Message | Cause | Fix |
| --- | --- | --- | --- |
| `401` | `Missing Authorization header` | The client has no token yet. | Normal on the first call: the client starts the OAuth sign-in. |
| `401` | `Token expired`, `Token revoked`, `Token not recognized`, `Invalid or expired token` | The token expired, was removed in the console, or does not exist. | Reconnect the assistant (in Claude Code: `/mcp`). |
| `401` | `Invalid or expired API key` | The access key is wrong or removed. | Create a new key in the console. |
| `401` | `API key revoked: its creator is no longer a member of this workspace` | The person who created the key left the workspace. | An admin creates a new key. |
| `403` | `User is not a member of this workspace` | You are no longer a member of the workspace. | Ask an admin to add you. |
| `403` | `Token bound to a different workspace`, `Token resource mismatch` | The token was granted for another workspace than the address's. | Use the authorized workspace's address, or reconnect the assistant. |
| `403` | `API key does not match this workspace` | The key belongs to another workspace. | Use the address of the key's workspace. |
| `404` | `No workspace available for this user. Sign in to app.pilot.braike.com and create one.` | Your account has no workspace yet. | Create a workspace in Pilot. |
| `429` | `Rate limit exceeded. Please try again later.` | The per-minute rate is exceeded. | The client retries a little later. |
| `503` | `Token check unavailable. Please retry later.`, `Membership check unavailable. Please retry later.`, `API key check unavailable. Please retry later.` | Pilot could not check the access, during an outage. | Retry: do not undo your connection. |

## Troubleshooting [#depannage]

<Accordions>
<Accordion title="The connection fails as soon as I add the server">

Check the address: it is `https://app.pilot.braike.com/mcp`, with `app.`. The `pilot.braike.com` website is not an MCP server. In Claude, choose **Register automatically** under **OAuth client**. If it still fails, remove the connector and add it again.

</Accordion>
<Accordion title="My assistant does not see a platform's tools">

The platform must be connected in **Connectors**, with at least one account chosen, and included in your plan. Then have your client reload the tool list: new conversation, reconnecting the server, or **Refresh** in ChatGPT plugins.

</Accordion>
<Accordion title="The assistant reads the wrong account">

Without details, Pilot reads the first attached account, in alphabetical order. Name the account in your request; the assistant then uses the account argument or the `account_id` selector. See [Account scope](/en/docs/perimetre-des-comptes#choix).

</Accordion>
<Accordion title="Pilot analyses figures look old">

`pilot_` analyses read the data collected every night. Ask the assistant to call `pilot_data_freshness`: it says when each account was collected, and why data is missing. An account nobody had queried for a long time comes back in the next night's collection.

</Accordion>
<Accordion title="The authorization screen says I am not a member of the workspace">

The address used points to a workspace you are not a member of. Ask an admin to add you, or use the universal address `https://app.pilot.braike.com/mcp` to choose one of your workspaces.

</Accordion>
<Accordion title="I want to cut every access right now">

On the workspace's **Claude & ChatGPT** page, **Active access** block, remove each access. The effect is immediate, on the assistant's next call.

</Accordion>
</Accordions>

Still stuck? Write to [contact@braike.com](mailto:contact@braike.com) with the message received and the time of the call.
