Skip to main content

Account limits

An account limit was reached: the number of portfolios or scenarios the account allows, 50 watchlists, 200 symbols on one watchlist, or 50 custom symbols on one monitor. For portfolios and scenarios the message reads “Portfolio limit reached. This account has reached its portfolio limit.” (or “Scenario limit reached. This account has reached its scenario limit.”). The error carries limit_type, current_count and max_allowed. Retrying doesn’t help until the user removes one, or manages the account in the Allocait app.
The account doesn’t include the feature, for example a connection with Read and change access. The message reads “This account doesn’t include this. Ask the user.” The agent tells the user in plain words and doesn’t retry. See Access levels.
A daily cap on this kind of write was reached, such as 20 feedback reports in 24 hours. Stop for now; the limit resets within a day.

Read-only access

A read-only connection lists only the 12 read tools and send_feedback, which works there for topic: tools and topic: early_access; topic: account returns one of the codes below. Some accounts allow read-only agent access: see Access levels. These codes come back when Claude calls a tool that changes data anyway. Each is a tool result, not an HTTP 403.
The API key can only read. To let Claude change data, create a key with Read and change access in Settings > API keys. If the result says “This account’s agent access is read-only.”, the account allows reads only. A new key doesn’t help; manage the account in the Allocait app.
The app connected through the connector sign-in can only read. To allow changes, select Edit access for the app in Settings > Apps. A client may need to reconnect before it lists the write tools. If the result says “This account’s agent access is read-only.”, the account allows reads only, whatever you chose on the consent screen. Editing the app’s access doesn’t help; manage the account in the Allocait app.

Rate limit

If a connection goes past its request budget, the server answers with HTTP 429 before any tool runs, so there is no Error [CODE] line. Your MCP client may show this as a connection error rather than a tool error. MCP calls and REST calls share both budgets: 60 requests per minute and 10,000 per UTC day. See Rate limits for the response bodies, the headers and the per-route caps. The server doesn’t accept JSON-RPC batches. A batched request gets HTTP 400 with JSON-RPC error -32600; send one message per request.

Connector sign-in

These errors apply only to apps connected through the connector sign-in, not to API keys. Like the rate limit, they come back before any tool runs.
HTTP 503. Allocait couldn’t check the app’s access, so it refused the request. The body is {"error": "Could not verify access. Try again.", "error_code": "ACCESS_CHECK_FAILED"}. Retry the request.
HTTP 401 with WWW-Authenticate: Bearer error="invalid_token" means the access token is invalid or expired, or you removed the app. The body is {"error": "Invalid or expired access token"} or {"error": "This connection was removed. Connect again from your app."}. Connect again from your client. If that doesn’t work, remove the connector in your client and add it again. If the account has no agent access, every request fails with HTTP 403 until the user manages the account in the Allocait app. Reconnecting doesn’t help. The consent screen shows these messages in your browser. If the account can’t connect an app, the screen says “This account can’t connect an app right now. Manage your account in the Allocait app.” and offers only Deny. Manage the account, then start the connection again from Claude.

Next steps

Access levels

What Read only and Read and change allow.

Rate limits

Budgets, headers and the 429 response.

All MCP errors

Find another code.