Companion — troubleshooting
Grouped by surface. ⌘F and search the symptom.
Inference
Section titled “Inference”| Symptom | Fix |
|---|---|
| ”No instance found for model X” / 404 on send | The model isn’t loaded on its engine. Load it (OdyssAI-X / Telemak), or check the cloud model id + token. |
| OpenRouter shows 0 cloud models | The provider URL must be just openrouter.ai (no path) and the bearer your OpenRouter key. |
| Anthropic 400 on send | Anthropic rejects temperature + top_p together; Companion drops top_p for Claude routes. If it persists, you’re on a non-standard alias — report the id. |
| Streaming hangs after a few hundred tokens | A flaky tunnel stalls SSE. Reload the conversation — partials are saved. Recurring → check the tunnel logs. |
| TTFT suddenly 10× slower | A cold prefill on a long conversation. Busts when you switch model mid-chat, refresh the memory snapshot, or the engine restarts. The next warm turn is back to normal. |
Reply is mostly <think>…</think>, little visible text | A thinking model with max_tokens too low — bump it (Qwen3-thinking wants ~16k to leave room after reasoning). |
| Gibberish / broken French / weird unicode | KV-cache desync (reload usually fixes), a wrong chat template on the routed alias (report it), or a quant too aggressive (try a higher quant). |
Tools & agent mode
Section titled “Tools & agent mode”| Symptom | Fix |
|---|---|
| Agent mode on, no tools fire | The model isn’t tool-capable — pick one with the ⚒ chip in the picker. |
| MCP server returns 0 tools after add | The first chat pays a synchronous tools/list; if it failed (auth/DNS/5xx) the cache stays empty. Open the row → Refresh. |
| MCP tool auth error mid-conversation | Token expired/revoked. MCP servers page → the failing row → Reconnect (OAuth) or update the bearer. |
| Notion / Linear OAuth loops to consent | You denied a scope. Reconnect and grant the full set. |
Slash commands & add-ons
Section titled “Slash commands & add-ons”| Symptom | Fix |
|---|---|
/comfyui modal opens, generation fails instantly | The bridge isn’t reachable from Companion’s server (not your browser). Settings → Add-ons → ComfyUI Imager → Test connection. |
/hermes enters mode, panel stays blank | The Hermes bridge is down/unreachable. Add-ons → Hermes Agent → Test connection; restart the bridge if 503. |
/exit doesn’t clear the agent chip | The set-mode call failed (network). Reload — the conversation state re-fetches and clears server-side. |
| Symptom | Fix |
|---|---|
| Push-to-talk transcribes empty / wrong language | Web Speech follows the OS/browser locale. Set the browser language to what you speak. |
| Browser asks for the mic on every reload | Some browsers don’t persist the permission. Pin Companion as a PWA, or grant permanent mic access in site settings. |
Editing & regenerating
Section titled “Editing & regenerating”| Symptom | Fix |
|---|---|
| Edit/Regenerate didn’t truncate on reload | The truncating DELETE is fire-and-forget; a dropped network can leave old turns. Re-edit and they’re wiped. |
| Ghost answer — visible while streaming, gone on reload | An inference-state race. If it recurs, report the conversation id so the logs can be dug. |
| Continue makes a new turn instead | Continue is for replies that hit max_tokens. If the reply ended cleanly (finish_reason=stop), use Regenerate. |
Read next
Section titled “Read next”- Chat basics — the mechanics behind most of these.
- Engine pairing — fixing the inference path.
- OdyssAI-X troubleshooting — engine-side issues.