> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allocait.app/llms.txt
> Use this file to discover all available pages before exploring further.

# ChatGPT errors

> What a connection or tool error means in ChatGPT or Codex.

ChatGPT and Codex use the same Allocait MCP server as Claude, so they get the same errors. Every tool error has one format and one of 19 codes. See [MCP errors](https://docs.allocait.app/claude/errors.md) for every code. This page covers the cases that come up when you connect from ChatGPT or Codex.

## Connection and sign-in

| What you see | What it means | What to do |
| - | - | - |
| The consent screen says "This link expired" | The connection request expired or no longer exists. | Start the connection again from ChatGPT or Codex. |
| The consent screen says "This request was already used" | The connection request was already approved or declined. | Start the connection again from ChatGPT or Codex. |
| The consent screen says the app "asked for your sign-in details" | The client asked for something Allocait doesn't share with connected apps. Allocait refused it, and nothing was shared. | Start the connection again. If it happens again, email [support@allocait.app](mailto:support@allocait.app) with where you started. |
| The consent screen says the app "uses a return address Allocait does not support" | Allocait supports `https` return addresses, and `http` only on `localhost`, `127.0.0.1` or `[::1]`. Nothing was shared. | Email [support@allocait.app](mailto:support@allocait.app) with where you started. |
| The consent screen says "This account can't connect an app right now." and offers only **Deny** | The account can't use agent access. | Manage your account in the Allocait app, then start the connection again. |
| ChatGPT or Codex says it needs to sign in again, or a call fails with HTTP `401` | The sign-in is no longer valid, for example because it expired or you removed the app. | Connect again. In Codex, run `codex mcp login allocait`. If it still fails, remove the server and add it again. |
| HTTP `503` with [`ACCESS_CHECK_FAILED`](https://docs.allocait.app/claude/errors/access-and-limits) | Allocait couldn't check the app's access, so it refused the request. | Try again. |
| HTTP `429` | The connection went past its request budget. | Wait the `Retry-After` interval, then try again. See [Rate limits](https://docs.allocait.app/api/rate-limits.md). |

## The account can't use agent access

If the account can't use agent access, every request fails with HTTP `403` and a short message that says to manage the account in the Allocait app. Reconnecting doesn't help. Manage the account in the Allocait app, then try again.

## ChatGPT or Codex can't change anything

A **Read only** connection lists 13 tools, and none of them changes data. If a change is refused anyway, the result is one of these:

* [`OAUTH_WRITE_NOT_GRANTED`](https://docs.allocait.app/claude/errors/access-and-limits). You allowed **Read only**. In Allocait, open **Settings > Apps**, select **Edit access** for the app, choose **Read and change**, and select **Save access**. Then refresh the server in ChatGPT or start a new Codex session.
* A result that says "This account's agent access is read-only." The account's access allows reads only, whatever you allowed on the consent screen. Changing the access you gave doesn't help. Manage the account in the Allocait app.

## The tool list looks wrong

After you change what ChatGPT or Codex may do, a missing tool can come from a list ChatGPT read earlier. Refresh the server in ChatGPT's plugin settings or start a new chat. A **Read only** connection lists 13 tools and **Read and change** lists 40.

## A tool needs prices

Allocait fills no price from its own data. [`PRICES_INCOMPLETE`](https://docs.allocait.app/claude/errors/records-and-prices) lists the symbols still needed. Give ChatGPT or Codex a price for each one, or ask it to use a price source you trust, then ask again. For `check_trades`, `prices` must cover every held non-cash symbol and every symbol in the change. A held option with a stored mark needs none. See [Prices](https://docs.allocait.app/concepts/prices.md).

## Codex timeouts

If a Codex call times out, see [OpenAI's Codex guide to MCP servers](https://developers.openai.com/codex/mcp) for its timeout settings.

## Something failed on Allocait's side

[`INTERNAL_ERROR`](https://docs.allocait.app/claude/errors/failures) means the request failed on Allocait's side. Ask ChatGPT or Codex to try once more. If it fails again, ask it to show you the `request_id` from the result, and quote it when you email [support@allocait.app](mailto:support@allocait.app). You can also ask it to report the problem with `send_feedback`. Don't put holdings or account data in it.

## What to do in general

* Read the error message to the end. For many codes it ends with the next step.
* For `check_trades`, treat any error as no result. Ask it to say so, and don't work out the answer by hand.
* For `CONFIRMATION_REQUIRED`, confirm with the user before the call is sent again.
* For a code that names a fix, make the fix before you send the call again.

If a tool or its description behaves in a way this page and [MCP errors](https://docs.allocait.app/claude/errors.md) don't explain, see [Support](https://docs.allocait.app/support.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.