{"record":{"id":"e46fe4cdafd91e38","repo":"HKUDS/nanobot","slug":"signal-cli-daemon-not-responding-e","errorCode":null,"errorMessage":"signal-cli daemon not responding: {e}","messagePattern":"signal-cli daemon not responding: (.+?)","errorType":"exception","errorClass":"ConnectionRefusedError","httpStatus":null,"severity":"error","filePath":"nanobot/channels/signal/runtime.py","lineNumber":495,"sourceCode":"            try:\n                self.logger.info(\"Connecting to signal-cli daemon at {}...\", base_url)\n\n                # Create HTTP client\n                self._http = httpx.AsyncClient(\n                    timeout=self._HTTP_TIMEOUT_SECONDS, base_url=base_url\n                )\n\n                # Test connection\n                try:\n                    response = await self._http.get(\"/api/v1/check\")\n                    if response.status_code == 200:\n                        self.logger.info(\"Connected to signal-cli daemon\")\n                    else:\n                        raise ConnectionRefusedError(\n                            f\"signal-cli daemon check returned status {response.status_code}\"\n                        )\n                except Exception as e:\n                    raise ConnectionRefusedError(f\"signal-cli daemon not responding: {e}\")\n\n                # Reset reconnect delay after successful connection check.\n                reconnect_delay_s = 1.0\n\n                # Ensure account-level typing indicators are enabled.\n                await self._ensure_typing_indicators_enabled()\n\n                # Start SSE receiver and supervise it. If it exits while we're still\n                # running, treat it as a disconnect and reconnect.\n                self._sse_task = asyncio.create_task(self._sse_receive_loop())\n                await self._sse_task\n                if self._running:\n                    raise ConnectionError(\"Signal SSE stream ended unexpectedly\")\n\n            except asyncio.CancelledError:\n                break\n            except ConnectionRefusedError as e:\n                self.logger.error(","sourceCodeStart":477,"sourceCodeEnd":513,"githubUrl":"https://github.com/HKUDS/nanobot/blob/42f37dc4c0e409eac7818a82d165c5f2757bc075/nanobot/channels/signal/runtime.py#L477-L513","documentation":"Error \"signal-cli daemon not responding: {e}\" thrown in HKUDS/nanobot.","triggerScenarios":"Thrown at nanobot/channels/signal/runtime.py:495 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"42f37dc4c0e409eac7818a82d165c5f2757bc075","analyzedAt":"2026-08-26T00:18:52.276Z","schemaVersion":2},"datasetVersion":"2026-08-26T04:18:47.238Z"}