#agent verbosity / thinking settings for Telegram use,

1 messages · Page 1 of 1 (latest)

regal trellis
#

Need expert guidance on OpenClaw agent verbosity / thinking settings for Telegram use, including upcoming v2026.4.25.

Current setup:
• OpenClaw v2026.4.23
• Systemarchitect agent used heavily for diagnostics
• Telegram group interface
• Planning backup + upgrade soon (likely v2026.4.25)

Problem:
Recent versions show visible “Working… / exec / command / tool …” traces and sometimes “Agent couldn't generate a response” after tool actions complete.

We tested:
• thinkingDefault = off
• silentReply.group = true
• silentReply.internal = true
• systemarchitect thinking = off

This appeared to worsen reliability, so we plan to roll back.

Questions:

  1. What do thinkingDefault, silentReply.group, and silentReply.internal actually control internally?
  2. Which of these can interfere with Telegram/tool response delivery?
  3. What are recommended settings for a tool-heavy admin agent in Telegram?
  4. Are there known regressions in v4.22 / v4.23 regarding tool traces, silentReply, or post-tool response failures?
  5. Does v2026.4.25 improve reliability or verbosity behavior for Telegram/tool-heavy agents?
  6. What are optimal settings for:
    • v2026.4.23
    • v2026.4.25
  7. Any known best-practice config for low-noise + stable + token-efficient admin agents?

Goal:
Reliable concise replies, minimal spam, no broken responses, good token efficiency before upgrading.

main ospreyBOT
#

Short version: I’d undo the silentReply experiments, don’t force global thinkingDefault: off, and treat the visible Working… / exec / tool stuff as Telegram preview/tool-progress streaming, not “thinking”.

What the knobs actually do

  • thinkingDefault controls the model’s internal reasoning/effort default when no /think override exists. It does not control whether reasoning is shown in Telegram; that’s /reasoning / reasoningDefault. For a tool-heavy diagnostic agent, forcing off can make tool planning worse. Use minimal/low, or leave it unset for provider defaults.
  • silentReply is not boolean in current/v2026.4.23 schema. It wants "allow" / "disallow" per direct, group, internal. Booleans belong under silentReplyRewrite. Defaults are effectively: direct disallowed/rewrite, group allowed, internal allowed.
  • silentReply.group: "allow" means an exact NO_REPLY final can be dropped in groups. That can look like “tool ran, then no answer” if the model ends silent.
  • silentReply.internal: "allow" mostly affects internal/subagent/task-style delivery, not normal Telegram group replies.

The visible tool traces

In v2026.4.22+ Telegram preview streaming can include tool-progress updates. In v2026.4.23, that behavior exists but there isn’t a documented per-channel toolProgress: false switch in the v4.23 streaming doc.
In v2026.4.25, the docs add the proper low-noise option:

{
#
  channels: {
    telegram: {
      streaming: {
        mode: "partial",
        preview: {
          toolProgress: false,
        },
      },
    },
  },
}

That keeps preview streaming but hides “calling tool / exec / command” progress lines.

Recommended v2026.4.23 config

#

For maximum stability / least noise:

{
  agents: {
    defaults: {
      verboseDefault: "off",
      blockStreamingDefault: "off",
      // Prefer low/minimal over forced off for tool-heavy agents
      thinkingDefault: "low",
      // Leave silentReply unset unless you have a specific reason
    },
    list: [
      {
        id: "systemarchitect",
        thinkingDefault: "low",
#
        verboseDefault: "off",
        reasoningDefault: "off",
      },
    ],
  },
  channels: {
    telegram: {
      streaming: {
        mode: "off",
      },
    },
  },
}

For v4.23 specifically, streaming.mode: "off" is the cleanest way to remove the preview/tool-progress noise.

#

Recommended v2026.4.25 config

{
  agents: {
    defaults: {
      verboseDefault: "off",
      blockStreamingDefault: "off",
      thinkingDefault: "low",
      contextPruning: { mode: "cache-ttl", ttl: "5m" },
    },
    list: [
      {
        id: "systemarchitect",
        thinkingDefault: "low",
        verboseDefault: "off",
#
        reasoningDefault: "off",
      },
    ],
  },
  channels: {
    telegram: {
      streaming: {
        mode: "partial",
        preview: { toolProgress: false },
      },
    },
  },
}

v2026.4.25 also has fixes in the “empty assistant stop / fallback” area, including Claude zero-token empty-stop retry/fallback work and group empty-assistant cleanup, so I’d expect it to improve some “Agent couldn’t generate a response” cases — but I would not call it a guaranteed Telegram-specific fix without logs.