HKUDS/nanobot · error · RuntimeError
exec session manager is closed
Error message
exec session manager is closed
What it means
Error "exec session manager is closed" thrown in HKUDS/nanobot.
Source
Thrown at nanobot/agent/tools/exec_session.py:293
self._lock = asyncio.Lock()
self._closed = False
async def start(
self,
*,
command: str,
cwd: str,
env: dict[str, str],
timeout: int | None,
shell_program: str | None,
login: bool,
yield_time_ms: int,
max_output_chars: int,
owner_session_key: str | None = None,
) -> tuple[str, _SessionPoll]:
async with self._lock:
if self._closed:
raise RuntimeError("exec session manager is closed")
await self._cleanup_locked()
if len(self._sessions) >= self.max_sessions:
raise RuntimeError(f"maximum exec sessions reached ({self.max_sessions})")
process = await self._spawn(command, cwd, env, shell_program, login)
session_id = uuid.uuid4().hex[:12]
session = _ExecSession(
session_id=session_id,
process=process,
command=command,
cwd=cwd,
timeout=timeout,
owner_session_key=owner_session_key,
process_tree=True,
)
self._sessions[session_id] = session
poll = await session.poll(yield_time_ms, max_output_chars)
if poll.done:View on GitHub (pinned to 42f37dc4c0)
When it happens
Trigger: Thrown at nanobot/agent/tools/exec_session.py:293 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/04b35dd8522a96a8.
Report an issue: GitHub.