HKUDS/nanobot · error · SessionMessageError
expect_reply=true requires reply_timeout_seconds between {MI
Error message
expect_reply=true requires reply_timeout_seconds between {MIN_REPLY_TIMEOUT_SECONDS} and {MAX_REPLY_TIMEOUT_SECONDS} What it means
Error "expect_reply=true requires reply_timeout_seconds between {MIN_REPLY_TIMEOUT_SECONDS} and {MAX_REPLY_TIMEOUT_SECONDS}" thrown in HKUDS/nanobot.
Source
Thrown at nanobot/agent/tools/session_messages.py:287
envelope,
)
return f"@{target.name}"
@staticmethod
def _validate_reply_timeout(
expect_reply: bool,
reply_timeout_seconds: int | None,
) -> int | None:
if not expect_reply:
return None
if (
reply_timeout_seconds is None
or not MIN_REPLY_TIMEOUT_SECONDS
<= reply_timeout_seconds
<= MAX_REPLY_TIMEOUT_SECONDS
):
raise SessionMessageError(
"expect_reply=true requires reply_timeout_seconds between "
f"{MIN_REPLY_TIMEOUT_SECONDS} and {MAX_REPLY_TIMEOUT_SECONDS}",
)
return reply_timeout_seconds
def _cancel_pending_reply(self, key: tuple[str, str]) -> None:
pending = self._pending_replies.pop(key, None)
if pending is not None and pending.timer is not None:
pending.timer.cancel()
def _schedule_pending_reply(
self,
key: tuple[str, str],
timeout_seconds: int,
target_handle: str,
request: SessionMessageEnvelope,
) -> None:
pending = _PendingReply(View on GitHub (pinned to 42f37dc4c0)
When it happens
Trigger: Thrown at nanobot/agent/tools/session_messages.py:287 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of HKUDS/nanobot@42f37dc4c0 (2026-08-26).
Data as JSON: /api/errors/7df07e70d4ab8b7a.
Report an issue: GitHub.