Find your code
ACCESS_CHECK_FAILED and the rate limit are not among the 19 tool error codes. They happen before a tool runs.
Fields in the result
The tool result also carries structured fields that an agent can branch on:What to do in general
If you’re the agent
- Tell the user in plain words what went wrong; the
messagetext is written for you. - For
PRICES_INCOMPLETE, ask the user for the prices of exactly the symbols named, or use a price source they trust, then call again. With neither, say there is no result. Don’t guess at what’s missing. - For
CONFIRMATION_REQUIRED, confirm with the user before you resend withremoveorconfirm_name. - For
RULES_INVALID, fix every issue listed before retrying: a partial fix still fails. - For a rate limit, wait the
Retry-Afterinterval, then retry the same call. - For
check_trades, treat any error as no result: say so, and don’t work out the answer by hand. - For
INTERNAL_ERROR, retry once. For a connected app’s401, connect again. ForACCESS_CHECK_FAILED, retry. - For anything else, treat it as a stop: don’t retry the same call unchanged.
- Send
send_feedbackonly when the user asks, and leave holdings and account data out of it.
If you’re the user
- If a call needs Read and change access, change it for an app in Settings > Apps or for an API key in Settings > API keys. If the result says “This account’s agent access is read-only.”, changing it doesn’t help. See Access levels.
- If a connected app stops working with a
401, remove the Allocait connector in Claude and add it again. - If a tool or its description behaves in a way these pages don’t explain, ask Claude to report it with
send_feedbackandtopic: tools. To report how a whole task went, ask fortopic: early_access. See Send feedback and Support.
Related
REST API errors
The same codes over HTTP.
MCP tools
Every tool at a glance.