Description
When a subagent completes and announces its result back to the chat, the raw output includes:
- Internal prompt instructions (e.g., "Summarize this naturally for the user...")
- Stats/metadata (tokens, session IDs, transcript paths)
These should not be visible to the end user.
Expected Behavior
Only the clean, summarized result should appear in the user's chat. The internal prompt and stats should be processed/hidden.
Actual Behavior
User sees raw output like:
NIN Concert Details
Based on the calendar search, I found the following:
[... actual content ...]
Stats: runtime 7s • tokens 11.2k (in 12 / out 516) • sessionKey agent:main:subagent:60de587e-... • sessionId 3a68b616-... • transcript /Users/phil/.openclaw/agents/main/sessions/...
Summarize this naturally for the user. Keep it brief (1-2 sentences). Flow it into the conversation naturally.
Do not mention technical details like tokens, stats, or that this was a background task.
You can respond with NO_REPLY if no announcement is needed (e.g., internal task with no user-facing result).
Steps to Reproduce
- Configure subagents with Haiku model in
openclaw.json
- Have main agent spawn a subagent via
sessions_spawn
- Subagent completes and announces result
- Observe raw output in chat client (webchat)
Environment
- openclaw version: 2026.1.30
- Platform: macOS
- Channel: webchat
Suggested Fix
Either:
- Add config option to control announce verbosity (e.g.,
subagents.announce.showStats: false)
- Process the announce step through main agent before displaying to user
- Strip internal prompts and stats from user-facing output
Workaround Attempted
Tried adding to config (no effect):
"subagents": {
"announce": {
"showStats": false,
"verbose": false
}
}
Description
When a subagent completes and announces its result back to the chat, the raw output includes:
These should not be visible to the end user.
Expected Behavior
Only the clean, summarized result should appear in the user's chat. The internal prompt and stats should be processed/hidden.
Actual Behavior
User sees raw output like:
Steps to Reproduce
openclaw.jsonsessions_spawnEnvironment
Suggested Fix
Either:
subagents.announce.showStats: false)Workaround Attempted
Tried adding to config (no effect):