New request
#497: feat(gateway): support tool approval for gateway sessions from the Web UI
We'll provision a sandbox, run an agent against the issue, and open a draft PR. You can pull the branch and iterate from there.
Summary
When a Hermes agent session originates from a messaging gateway (Telegram, Discord, etc.) and hits a tool that requires approval, there is no way to approve or deny from the Web UI. The request either times out or auto-allows.
Proposed behaviour
Gateway sessions with a pending approval should show a visual indicator in the Web UI sidebar. Opening the session should present the same approval card as WebUI sessions, and submitting it should unblock the gateway agent.
Implementation notes
- Gateway sessions are already visible in the sidebar as CLI sessions
- The main gap is session_id alignment:
tools/approval.pyscopes pending approvals by session_id, but gateway sessions may use a different namespace - Requires consistent session_id handling between the gateway path and the WebUI approval polling endpoint (
/api/approval/pending)
Tracked in ROADMAP.md as "Gateway approval polling (PR #75)".
Requires aligning gateway/WebUI session identifiers and extending existing approval polling UI to gateway-originated sessions.
- tools/approval.py
- api/routes/approval.py
- static/js/sidebar/session_item.js
- static/js/components/approval_card.js
- api/models.py
- api/gateway.py