Problem
In handle_chat (agents.py line 506):
if more_count is not None or (query.strip().lower() in {"more", "next", "continue", ...}):
The second or condition is already handled inside _is_more_query which returns None for those exact words. The branch is dead code and makes the logic confusing.
Fix
Simplify to:
if query.strip().lower() in {"more", "next", "continue", "more please", "show more", "keep going"} or more_count is not None:
Or refactor _is_more_query to return a sentinel that covers both cases.