Skip to content

Recommend blockStreaming: on for tool-heavy multi-agent setups #48522

Description

@Damagesan123

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:

  1. Agent starts generating text → preview message appears in Telegram
  2. Agent calls a tool → preview freezes (looks like the agent hung)
  3. Tool runs for 5-60 seconds → zero feedback to the user — no typing indicator, no update
  4. 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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions