Skip to content

Error Messages Reference

sarangshahane edited this page Aug 25, 2026 · 1 revision

Error Messages Reference

Every message the widget can show a visitor, what causes it, and what to do. Messages are deliberately generic — the plugin never shows a visitor the provider's own error text, because upstream errors can leak endpoint and request detail.

Quick lookup

Message Cause Fix
Please wait before requesting another question. Rate limit hit, or the rate-limit table is missing Please Wait Before Requesting Another Question
Please wait before submitting another answer. Answer-submission rate limit hit Wait up to a minute; raise the answer| limit if it recurs
Could not generate a question. Please try again. Generic front-end failure message Could Not Generate a Question
The AI service is temporarily unavailable. Please try again. Provider unreachable, refused, or timed out Check credentials, credit and network
The AI provider returned an invalid response. Reply was not usable JSON Try a larger or better instruction-following model
The AI response is missing the "…" field. JSON parsed but a required field was absent Same — model quality
The AI response did not meet the required content limits. Reply too long, or empty after sanitising Same — model quality
The configured AI provider is not available. Provider class missing Reinstall the plugin
The Ollama configuration is invalid. URL empty, malformed, or host not allowed Set up Ollama
The Hugging Face configuration is invalid. Token or model field empty Set up Hugging Face
The OpenAI-compatible configuration is invalid. Endpoint not a valid public URL, or key or model empty Set up an OpenAI-compatible Provider
Invalid question widget token. Request arrived without a valid widget token Usually a caching or script problem — see below
Invalid question token. Malformed question token on submission Reload the page
This question has expired. Please request a new one. More than ten minutes passed, or the server restarted Press Next Question
This question has already been answered. The punchline was already released for this question Press Next Question
This question belongs to another visitor. Token presented by a different client than requested it Reload the page
Your answer is too long. Answer exceeded 1,000 characters Shorten it
Type your answer first. Submit pressed with an empty box Type something

Configuration errors

These three mean the settings screen is incomplete or invalid for the selected provider. They appear immediately, without any call being attempted, so they are cheap and fast — a good sign you have a settings problem rather than a provider problem.

Each provider has its own message, which tells you which panel to look at. Remember that only the selected provider matters; a fully-filled panel for a provider you have not selected does nothing.

Provider and response errors

"The AI service is temporarily unavailable" means the call was attempted and failed: bad credentials, no credit, an upstream rate limit, a network block, or a timeout at 30 seconds. The plugin cannot tell you which without showing you the upstream error, which it will not do.

To see the real cause, enable WP_DEBUG on a staging site and read the debug log. Do not leave debug logging enabled in production.

The three response errors — invalid JSON, missing field, content limits — all mean the provider replied but the reply was unusable. The plugin asks for strict JSON and validates every field, with caps of 300 characters for the question, 160 for the punchline and 200 for the hint.

These are almost always a model-quality problem. Small models struggle to return valid JSON consistently. If you see them intermittently, try a larger instruction-tuned model before suspecting the plugin.

Token errors

These relate to the two short-lived tokens the widget uses.

"Invalid question widget token" means the request arrived without a properly formed widget token. In normal use this cannot happen. When it does, suspect:

  • an optimisation plugin rewriting or deferring the widget's JavaScript
  • HTML being cached in a way that strips data attributes
  • something calling the REST endpoint directly

"This question has expired" is routine. Questions live for ten minutes. Leave a tab open over lunch and the answer is gone — press Next Question.

"This question has already been answered" means the punchline was already released. Each question reveals once, by design. Double-clicking Submit can produce it.

"This question belongs to another visitor" means the tokens did not match the client presenting them. Ordinary causes are switching networks mid-session or an aggressive privacy extension changing the User-Agent between requests. Reloading fixes it.

When every visitor sees the wait message

If the site is idle and everyone sees "Please wait before requesting another question", it is not a rate limit in the normal sense. The rate-limit table is probably missing, and the limiter fails closed on purpose. Deactivate and reactivate the plugin to recreate it. Full detail on the dedicated page.

Clone this wiki locally