Platform
ScaiWave ScaiGrid ScaiCore ScaiBot ScaiDrive ScaiKey Models Tools & Services
Solutions
Organisations Developers Internet Service Providers Managed Service Providers AI-in-a-Box
Resources
Support Documentation Blog Downloads
Company
About Research Careers Investment Opportunities Contact
Log in

AI isn't responding

Symptom: No reply at all#

After you send a message, there's no typing indicator, no reply, nothing in the chat header about generation.

Possible causes:

  • No AI engaged in the room. Even with @<ai-name>, the AI must be a member. Type /engage <ai-name> once to bring them in.
  • Engagement mode is mention but no @mention in your message. Either add a mention or /engage first.
  • AI is disabled at the tenant level. Admin: check GET /v1/admin/ai-config → enabled_models.

Symptom: Typing indicator, then nothing#

The AI says it's typing, then the indicator disappears with no reply. Causes (visible in the error message that should appear in chat — swp.model.error event):

  • SW_AI_NO_TOKEN — no valid ScaiGrid token. Often a misconfigured ScaiGrid URL or expired service token. Admin: check SCAIWAVE_SCAIGRID_URL and run scripts/scaigrid_service_token_smoke.py.
  • MODEL_NOT_FOUND — the AI's model id isn't registered with this tenant on ScaiGrid. Re-enable in Admin → Models.
  • SW_AI_BUDGET_EXCEEDED — monthly token cap hit. Either wait for the cap to roll, or admin raises it.
  • SW_AI_BUSY — another generation is in flight for this AI in this room. Click Stop or wait.

Symptom: AI starts streaming, then stops mid-sentence#

Three common causes:

  • You sent another message. Engagement cancels in-flight generation when a new user message arrives.
  • Tool call took too long. Plugin timeout is 30s. The AI usually reports this and either falls back or finishes its reply.
  • ScaiGrid stream disconnect. Transient; the AI catches the error and replies "I lost connection to ScaiGrid mid-generation."

Symptom: AI calls the wrong tool / gives weird answers#

Not strictly an error; check:

  • System prompt override. Studio → see what's actually being injected. A stale override can confuse the model.
  • Plugin loadout. Maybe the right plugin is disabled per-room. Admin: Room settings → Plugins.
  • Temperature too high. Default is 0.7; try 0.3 for more deterministic behaviour.

Symptom: Sidekick "spawning…" forever#

Sidekick task status sticks at spawning. Causes:

  • No sidekick worker running. Admin: check make worker is alive in prod; check ARQ queue depth.
  • Concurrency cap hit. SW_SIDEKICK_CAP_REACHED should have been returned at spawn time, but if you're using a script that ignores response codes, this can happen. Check GET /v1/rooms/{id}/sidekicks.

Symptom: Plan stuck on a step#

Plan in running state, current step in_progress, but no visible progress. Possible:

  • Auto-step budget exhausted. Plan card shows paused with a message. Just click Resume (or send any message in the room).
  • Step's tool call is hung. 30s plugin timeout should rescue this; if it doesn't, Cancel the plan and start fresh.
  • AI gave up silently. Plan stays running because nothing called step_failed. Cancel + restart.

Where to look (admin)#

  • WebSocket log: swp.model.error events for this room.
  • ARQ worker logs: any index.embedding_failed, scaigrid.request_failed, or unhandled exceptions.
  • ScaiGrid request logs (their side) with the request_id from the error message.
Updated 2026-05-17 13:10:03 View source (.md) rev 3