HKUDS/nanobot · error · CliAppError
{note}
Error message
{note} What it means
Error "{note}" thrown in HKUDS/nanobot.
Source
Thrown at nanobot/apps/cli/service.py:1205
"message": f"CLI for {app['display_name']} is already available.",
"installed": True,
"verification": ["entry_point_available", "state_recorded", "managed_paths_present"],
}
}
if strategy == "bundled":
detect_cmd = str(app.get("detect_cmd") or app.get("entry_point") or "")
if detect_cmd and _command_exists(detect_cmd):
self._record_installed(app)
return self.payload() | {
"last_action": {
"ok": True,
"message": f"CLI for {app['display_name']} is available.",
"installed": True,
"verification": ["entry_point_available", "state_recorded"],
}
}
note = app.get("install_notes") or f"{app['display_name']} is bundled with its parent app."
raise CliAppError(str(note))
argv = self._argv_for_action(app, "install")
assert argv is not None
result = self._run_argv(argv, timeout=self.runtime.install_timeout)
if strategy == "npm" and result.returncode != 0:
result = self._retry_stale_npm_install(app, argv, result)
if result.returncode != 0:
raise CliAppError(_truncate(result.stderr or result.stdout or "install failed"), status=500)
self._record_installed(app)
return self.payload() | {
"last_action": {
"ok": True,
"message": f"Installed CLI for {app['display_name']}.",
"installed": True,
"verification": ["package_manager_ok", "state_recorded", "managed_paths_present"],
}
}
def update(self, name: str) -> dict[str, Any]:View on GitHub (pinned to 42f37dc4c0)
When it happens
Trigger: Thrown at nanobot/apps/cli/service.py:1205 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of HKUDS/nanobot@42f37dc4c0 (2026-08-26).
Data as JSON: /api/errors/c9d6f529d6cd9516.
Report an issue: GitHub.