{"record":{"id":"c9d6f529d6cd9516","repo":"HKUDS/nanobot","slug":"note","errorCode":null,"errorMessage":"{note}","messagePattern":"\\{note\\}","errorType":"exception","errorClass":"CliAppError","httpStatus":null,"severity":"error","filePath":"nanobot/apps/cli/service.py","lineNumber":1205,"sourceCode":"                    \"message\": f\"CLI for {app['display_name']} is already available.\",\n                    \"installed\": True,\n                    \"verification\": [\"entry_point_available\", \"state_recorded\", \"managed_paths_present\"],\n                }\n            }\n        if strategy == \"bundled\":\n            detect_cmd = str(app.get(\"detect_cmd\") or app.get(\"entry_point\") or \"\")\n            if detect_cmd and _command_exists(detect_cmd):\n                self._record_installed(app)\n                return self.payload() | {\n                    \"last_action\": {\n                        \"ok\": True,\n                        \"message\": f\"CLI for {app['display_name']} is available.\",\n                        \"installed\": True,\n                        \"verification\": [\"entry_point_available\", \"state_recorded\"],\n                    }\n                }\n            note = app.get(\"install_notes\") or f\"{app['display_name']} is bundled with its parent app.\"\n            raise CliAppError(str(note))\n        argv = self._argv_for_action(app, \"install\")\n        assert argv is not None\n        result = self._run_argv(argv, timeout=self.runtime.install_timeout)\n        if strategy == \"npm\" and result.returncode != 0:\n            result = self._retry_stale_npm_install(app, argv, result)\n        if result.returncode != 0:\n            raise CliAppError(_truncate(result.stderr or result.stdout or \"install failed\"), status=500)\n        self._record_installed(app)\n        return self.payload() | {\n            \"last_action\": {\n                \"ok\": True,\n                \"message\": f\"Installed CLI for {app['display_name']}.\",\n                \"installed\": True,\n                \"verification\": [\"package_manager_ok\", \"state_recorded\", \"managed_paths_present\"],\n            }\n        }\n\n    def update(self, name: str) -> dict[str, Any]:","sourceCodeStart":1187,"sourceCodeEnd":1223,"githubUrl":"https://github.com/HKUDS/nanobot/blob/42f37dc4c0e409eac7818a82d165c5f2757bc075/nanobot/apps/cli/service.py#L1187-L1223","documentation":"Error \"{note}\" thrown in HKUDS/nanobot.","triggerScenarios":"Thrown at nanobot/apps/cli/service.py:1205 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"}