{"record":{"id":"1c9a026f1f6ee528","repo":"HKUDS/nanobot","slug":"update-failed","errorCode":null,"errorMessage":"update failed","messagePattern":"update failed","errorType":"exception","errorClass":"CliAppError","httpStatus":500,"severity":"error","filePath":"nanobot/apps/cli/service.py","lineNumber":1241,"sourceCode":"    def update(self, name: str) -> dict[str, Any]:\n        app = self.get_app(name, force_refresh=True)\n        if str(app[\"name\"]) not in self._load_installed():\n            raise CliAppError(\"CLI app is not installed\")\n        if self._strategy(app) == \"bundled\":\n            self._record_installed(app)\n            return self.payload() | {\n                \"last_action\": {\n                    \"ok\": True,\n                    \"message\": f\"Checked {app['display_name']}.\",\n                    \"installed\": True,\n                    \"verification\": [\"state_recorded\"],\n                }\n            }\n        argv = self._argv_for_action(app, \"update\")\n        assert argv is not None\n        result = self._run_argv(argv, timeout=self.runtime.install_timeout)\n        if result.returncode != 0:\n            raise CliAppError(_truncate(result.stderr or result.stdout or \"update failed\"), status=500)\n        self._record_installed(app)\n        return self.payload() | {\n            \"last_action\": {\n                \"ok\": True,\n                \"message\": f\"Updated CLI for {app['display_name']}.\",\n                \"installed\": True,\n                \"verification\": [\"package_manager_ok\", \"state_recorded\", \"managed_paths_present\"],\n            }\n        }\n\n    def uninstall(self, name: str) -> dict[str, Any]:\n        app = self.get_app(name)\n        installed = self._load_installed()\n        if str(app[\"name\"]) not in installed:\n            raise CliAppError(\"CLI app is not installed\")\n        raw_installed_entry = installed.get(str(app[\"name\"]))\n        installed_entry = _as_object_dict(raw_installed_entry)\n        if installed_entry is None:","sourceCodeStart":1223,"sourceCodeEnd":1259,"githubUrl":"https://github.com/HKUDS/nanobot/blob/42f37dc4c0e409eac7818a82d165c5f2757bc075/nanobot/apps/cli/service.py#L1223-L1259","documentation":"Error \"update failed\" thrown in HKUDS/nanobot.","triggerScenarios":"Thrown at nanobot/apps/cli/service.py:1241 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"}