Background
Currently Telegram shows nothing while Claude is working, then delivers the complete response. Users have no visibility into whether Claude is actively doing work or stuck.
Proposed solution
Add an opt-in config key telegram.streamToolCalls: true (default: false).
When enabled:
- As Claude executes tool calls, send/edit a "working" message showing the current tool name (e.g.
⚙️ Running: Bash, ⚙️ Reading: src/runner.ts)
- When Claude finishes, delete/replace the working message with the final clean response
- Tool call details are ephemeral — they don't clutter chat history
Builds on the existing stream-json execution mode already in ClaudeClaw-Plus which exposes tool call events.
Config
{
"telegram": {
"streamToolCalls": true
}
}
Must be opt-in — streaming adds Telegram API calls and some users explicitly prefer clean output only.
Source
Requested by @mrcharlesiv in moazbuilds/claudeclaw#14 (Mega-Post) with working screenshots.
Background
Currently Telegram shows nothing while Claude is working, then delivers the complete response. Users have no visibility into whether Claude is actively doing work or stuck.
Proposed solution
Add an opt-in config key
telegram.streamToolCalls: true(default:false).When enabled:
⚙️ Running: Bash,⚙️ Reading: src/runner.ts)Builds on the existing
stream-jsonexecution mode already in ClaudeClaw-Plus which exposes tool call events.Config
{ "telegram": { "streamToolCalls": true } }Must be opt-in — streaming adds Telegram API calls and some users explicitly prefer clean output only.
Source
Requested by @mrcharlesiv in moazbuilds/claudeclaw#14 (Mega-Post) with working screenshots.