Troubleshooting

Start with the HTTP status.

API and MCP

SymptomCause and fix
401 Missing AuthorizationNo credential. Send Authorization: Bearer <token>. MCP clients should follow the OAuth challenge.
403 Invalid or revoked tokenThe token was revoked, most likely because a newer token was created (one active token per account). Create a new token in Settings and update every client.
403 System admin access requiredYou called /admin/api/* without a system role.
429 Rate limit exceededWait Retry-After seconds. Limits: 10/min/IP on login endpoints, 600/min per credential on write, search, context, MCP.
Search returns []Nothing above the relevance floor; or the memory is RECENT tier (pass include_recent or run DREAM); or it was soft-deleted. Browse with query * to see what exists.
Write returns persisted:falseThe salience gate (threshold 0.38) rejected it, or for screen events the quality gate rejected or merged it (see reason).
409 Memory was editedThe id is an older version. Use superseded_by from the response.
Search is keyword-onlyGET /api/v1/health shows components.embedder is none. Embeddings are unavailable on the server.
MCP client cannot connectCheck the URL is exactly https://eam.thundera.eu/mcp. GET /mcp returning 405 is normal. Use an API token if the client cannot do OAuth.
/api/plans returns 503The central plan catalogue was unreachable and no cached copy exists yet. Retry.

Web app

  • Redirected to login repeatedly: sign out of Thundera and in again; check that cookies are allowed for thundera.eu.
  • Memories missing after wipe: wipe soft-deletes. Restore with POST /api/v1/memories/{id}/restore.
  • Pinned memory will not delete: unpin first.

macOS app

  • Nothing uploads: check the menu bar for an account guard prompt, and that Screen Recording / Microphone permission is granted. The upload log lists status per request (0 offline, HELD paused).
  • Clipboard not captured: content upload is opt-in (Settings → Capture → Clipboard).
  • Download returns 404: no release is published yet; check /api/v1/app/release.

Import

  • source_not_enabled: enable the source with PUT /api/v1/import/settings first.
  • rate_limited: wait for Retry-After; daily limit is 50,000 items.