Problem
When sending Telegram messages via the message / send_message tool, the schema validation requires a buttons field to be present. If omitted, the request fails with a validation error — even when no buttons are needed.
This forces the agent to always include buttons: [] as a workaround, which is error-prone (the agent sometimes forgets, causing delivery failures on otherwise successful cron jobs).
Additional: transient 502 Bad Gateway
Telegram delivery also encounters intermittent 502 Bad Gateway errors. Currently there's no built-in retry, so a single transient failure can cause the entire message delivery to be reported as failed.
Expected Behavior
buttons should be truly optional in the tool schema — if not provided, default to [] server-side
- Transient HTTP errors (502, 429) on Telegram delivery should be retried automatically (e.g., 3 attempts with exponential backoff)
Current Workaround
SOUL.md instructs the agent to always include buttons: [] and to manually retry on 502.
Environment
- Hermes Agent v0.8.0 (
nousresearch/hermes-agent:latest, arm64)
- Running as Docker gateway (
command: gateway run)
- Telegram platform in polling mode
Problem
When sending Telegram messages via the
message/send_messagetool, the schema validation requires abuttonsfield to be present. If omitted, the request fails with a validation error — even when no buttons are needed.This forces the agent to always include
buttons: []as a workaround, which is error-prone (the agent sometimes forgets, causing delivery failures on otherwise successful cron jobs).Additional: transient 502 Bad Gateway
Telegram delivery also encounters intermittent
502 Bad Gatewayerrors. Currently there's no built-in retry, so a single transient failure can cause the entire message delivery to be reported as failed.Expected Behavior
buttonsshould be truly optional in the tool schema — if not provided, default to[]server-sideCurrent Workaround
SOUL.md instructs the agent to always include
buttons: []and to manually retry on 502.Environment
nousresearch/hermes-agent:latest, arm64)command: gateway run)