Environment
- OpenClaw version: 2026.2.15 (rolled back to 2026.2.14)
- Channel: Telegram
- OS: macOS (Darwin 25.2.0, arm64)
Description
When a tool call fails but the agent successfully falls back to an alternative tool and produces the correct answer, the failed exec notification still surfaces in the Telegram chat as a visible ⚠️ 🔧 Exec: error block.
Steps to Reproduce
- Agent attempts a shell command that fails (e.g.,
xjson — command not found)
- Agent falls back to
web_fetch on an alternative API and gets the correct result
- Agent delivers the correct answer to the user
Expected: User sees only the final answer. The failed intermediate exec is suppressed since the fallback succeeded.
Actual: User sees both the ⚠️ Exec: ... failed: command not found notification AND the correct answer. The error appears first or alongside the answer, creating an impression of instability.
Additional Context
This is compounded by the new Telegram streaming feature in 2026.2.15. With streaming enabled, the user can watch the agent work through the reasoning and arrive at the correct answer — then receive an error notification for the failed intermediate step. The combination of streaming + error leak makes the experience feel broken even though the agent produced the right output.
Streaming alone is not the issue. The error notification surfacing after a successful fallback is the bug.
Workaround
Rolled back to 2026.2.14, which does not surface exec failure notifications in Telegram.
Suggested Fix
Suppress exec failure notifications when:
- The failed exec was an intermediate step (not the final tool call)
- A subsequent fallback tool succeeded and produced output
Alternatively, provide a config option to control exec notification visibility in channel output (e.g., execNotifications: errors | all | none).
Environment
Description
When a tool call fails but the agent successfully falls back to an alternative tool and produces the correct answer, the failed exec notification still surfaces in the Telegram chat as a visible
⚠️ 🔧 Exec:error block.Steps to Reproduce
xjson— command not found)web_fetchon an alternative API and gets the correct resultExpected: User sees only the final answer. The failed intermediate exec is suppressed since the fallback succeeded.
Actual: User sees both the
⚠️ Exec: ... failed: command not foundnotification AND the correct answer. The error appears first or alongside the answer, creating an impression of instability.Additional Context
This is compounded by the new Telegram streaming feature in 2026.2.15. With streaming enabled, the user can watch the agent work through the reasoning and arrive at the correct answer — then receive an error notification for the failed intermediate step. The combination of streaming + error leak makes the experience feel broken even though the agent produced the right output.
Streaming alone is not the issue. The error notification surfacing after a successful fallback is the bug.
Workaround
Rolled back to 2026.2.14, which does not surface exec failure notifications in Telegram.
Suggested Fix
Suppress exec failure notifications when:
Alternatively, provide a config option to control exec notification visibility in channel output (e.g.,
execNotifications: errors | all | none).