Problem
With the default streaming: "partial" on Telegram, tool-heavy agents (multi-agent setups with frequent exec, config, sessions_send calls) create a poor UX:
- Agent starts generating text → preview message appears in Telegram
- Agent calls a tool → preview freezes (looks like the agent hung)
- Tool runs for 5-60 seconds → zero feedback to the user — no typing indicator, no update
- Agent continues → text either updates the old message (user already read and scrolled past) or appears as a disconnected fragment
This is especially bad for orchestrator agents that make 3-10 tool calls per turn.
Solution that works
Switching to block streaming + instant typing eliminates the problem:
{
"agents": {
"defaults": {
"blockStreamingDefault": "on",
"blockStreamingBreak": "text_end",
"blockStreamingCoalesce": {
"minChars": 200,
"maxChars": 3000,
"idleMs": 3000
},
"typingMode": "instant"
}
},
"channels": {
"telegram": {
"streaming": "off"
}
}
}
Now the user sees: typing... → complete text block → typing... (during tool call) → next text block. No more frozen previews.
Suggestion
- Document this pattern in the multi-agent or streaming docs as a recommended config for tool-heavy setups
- Consider making blockStreaming + instant typing the default when an agent has many tool calls, or at least mention the tradeoff in the wizard/doctor output
- The partial streaming mode works great for simple chatbots but misleads users in complex agent scenarios
Environment
- OpenClaw 2026.3.13
- Telegram channel
- 14 agents, tool-heavy (exec, config, sessions_send, cron, etc.)
Problem
With the default
streaming: "partial"on Telegram, tool-heavy agents (multi-agent setups with frequent exec, config, sessions_send calls) create a poor UX:This is especially bad for orchestrator agents that make 3-10 tool calls per turn.
Solution that works
Switching to block streaming + instant typing eliminates the problem:
{ "agents": { "defaults": { "blockStreamingDefault": "on", "blockStreamingBreak": "text_end", "blockStreamingCoalesce": { "minChars": 200, "maxChars": 3000, "idleMs": 3000 }, "typingMode": "instant" } }, "channels": { "telegram": { "streaming": "off" } } }Now the user sees: typing... → complete text block → typing... (during tool call) → next text block. No more frozen previews.
Suggestion
Environment