| A tool is missing, or “Forbidden: this token is not allowed to use this tool.” | The token doesn’t allow that tool. A token’s tools can’t be edited. | Create a new token with that tool and reconnect. |
| 429 “Rate limit exceeded” | More requests a minute than your plan allows — usually an agent in a loop. | Wait (the response says how long) and narrow the question. Ask for one report, not all ten. |
| ”Tool execution timed out.” | Very wide date ranges and large pages can take too long. | Narrow the date range or the page size, then ask again. |
| The AI asks you to confirm before a change | Working as designed — every change is previewed first. | Read the summary and say yes if it’s right. See Security & privacy. |
| ”This confirmation has expired” or “already used” | Confirmation tickets last 5 minutes and work once. | Ask again; the AI previews the change again for you to confirm. |
| ”The arguments do not match…” | The confirming call differed from the preview. | Ask again so the AI previews and confirms the same change. |
| A plan change “didn’t happen” | No tool changes your plan. | Switch on the app’s Plans page, where Shopify asks you to approve. |
| A CSV export of best-converting or most-wanted is refused | Those two are only downloadable from the app. | Download them from the Analytics page. |
| A test notification is refused | Test sends go only to your store’s own addresses, at most 20 an hour, and need credit left. WhatsApp alerts aren’t being sent yet, so WhatsApp tests are refused. | Send to a staff, report or sign-up alert address, wait for the hour to pass, or use another channel. |
| A test notification never arrived | The channel may not be on. | Ask for get_settings with the channels section to confirm the channel is live, then check spam. |
| Numbers disagree with the app | Almost always a different date range or channel filter, not a different source — both read the same data. | Ask the agent which range and filter it used, then match it in the app. |
Failed to reconnect SSE stream | The client tried to hold a streaming connection open. The connector answers each request and closes. | Restart the client. Point uptime monitors at /healthz, never /mcp. |