Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
Version: 2026.3.13
Model: openai/gpt-5.1-codex (API key auth)
Channel: Telegram
Symptom: exec, grep, find tools fire but return no output to agent
context in Telegram sessions. Same queries work correctly
in TUI. ls tool works in TUI but not Telegram.
Elevated: enabled
Tools profile: minimal with group:fs, group:runtime allowed
Steps to reproduce
-
Configure OpenClaw with the following agent setup:
{
"id": "culinary-rd",
"model": "openai/gpt-5.1-codex",
"tools": {
"profile": "minimal",
"allow": ["group:fs", "group:runtime", "web_search", "web_fetch"],
"deny": ["group:sessions", "group:memory", "group:ui",
"group:automation", "group:messaging", "group:nodes", "image"],
"elevated": { "enabled": true }
}
}
-
Bind the agent to a Telegram bot account:
{
"type": "route",
"agentId": "culinary-rd",
"match": {
"channel": "telegram",
"accountId": "culinary-rd-bot"
}
}
-
Create a markdown file in the agent workspace:
mkdir -p ~/.openclaw/workspace-culinary-rd/corpus/ingredients
echo "# Yogurt\n## Functional Role\n- Acts as marinade medium" \
~/.openclaw/workspace-culinary-rd/corpus/ingredients/yogurt.md
- Confirm file is readable from terminal:
cat ~/.openclaw/workspace-culinary-rd/corpus/ingredients/yogurt.md
Returns file content correctly
- Start the gateway:
openclaw gateway --force
**6. Send this message to the Telegram bot:**
Please run: cat /full/path/to/corpus/ingredients/yogurt.md and tell me what you see
**7. Observe agent response in Telegram.**
---
## Expected Behavior
Agent executes `cat` via exec tool and returns file contents in its response, identical to TUI behavior.
---
## Actual Behavior
Agent fires exec tool calls but receives no output. Responds with:
I searched the corpus but found no relevant file for yogurt.
Gateway log confirms message was sent:
[telegram] sendMessage ok chat=XXXXXXXXX message=195
But tool output was never returned to agent context.
---
## Confirmed Working
Identical query via TUI returns correct corpus content:
What does the corpus say about yogurt?
→ Agent successfully reads and summarizes corpus/ingredients/yogurt.md
---
## Tools Confirmed Firing But Returning No Output in Telegram
exec + find → fires, no output
exec + cat → fires, no output
exec + bash → fires, no output
exec + python → fires, no output
native grep → fires, no output
native ls → fires, no output
Additional Context
Telegram bot dmPolicy is set to pairing
Telegram bot streaming set to off (tested, no effect)
groupPolicy set to open
Auth method: OpenAI API key (not OAuth)
Previously tested with openai-codex/gpt-5.4 via ChatGPT OAuth — same behavior
elevated.enabled: true set — no effect on Telegram tool output
yieldMs: 5000 instructed in AGENTS.md — no effect
Expected behavior
Agent executes the tool calls (exec, grep, find, cat) and returns the file contents
in its Telegram response, exactly as it does when the same query is sent via TUI.
Expected Telegram response example:
Based on corpus/ingredients/yogurt.md:
Yogurt functions as both a dairy ingredient and a culinary tool. Its main roles are:
- Acidity and tang via lactic fermentation
- Moisture contribution in marinades
- Mild dairy fat for richness
- Tenderizing support in protein marinades
- Body and softness in sauces, dips, and batters
Tool execution should be transparent — the agent fires exec/cat/grep, receives the
file output back into its context, and answers strictly from the retrieved content,
citing the source filename.
This behavior is confirmed working in TUI for the identical agent, model, workspace,
and corpus configuration. The Telegram channel runtime should produce the same result.
Actual behavior
The agent fires exec, grep, find, and cat tool calls but receives no output back into its context in the Telegram channel runtime. The agent responds with the corpus failure message defined in AGENTS.md:
"I searched the corpus but found no relevant file for yogurt."
Evidence:
- Gateway log confirms message was delivered: [telegram] sendMessage ok chat=8432767625 message=195
- TUI session with identical agent, model, workspace, and corpus configuration successfully reads and summarizes the same file in the same turn
- Tools confirmed firing with no output returned in Telegram: exec+find, exec+cat, exec+bash, exec+python, native grep, native ls
- File confirmed readable from terminal: cat /Users/OC-Agent/.openclaw/workspace-culinary-rd/corpus/ingredients/yogurt.md returns full content
- elevated.enabled: true, streaming: off, groupPolicy: open, yieldMs: 5000 instructed in AGENTS.md — no effect on Telegram tool output
OpenClaw version
2026.3.13 (61d171a)
Operating system
macOS, Apple Silicon, Node 22
Install method
npm/pnpm package manager (not a git checkout)
Model
openai/gpt-5.1-codex
Provider / routing chain
OpenAI API key (pay-as-you-go, platform.openai.com) → openai/gpt-5.1-codex → OpenClaw gateway (local, loopback, port 18789) → Telegram channel (culinary-rd-bot account) → agent culinary-rd
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
No response
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
Version: 2026.3.13
Model: openai/gpt-5.1-codex (API key auth)
Channel: Telegram
Symptom: exec, grep, find tools fire but return no output to agent
context in Telegram sessions. Same queries work correctly
in TUI. ls tool works in TUI but not Telegram.
Elevated: enabled
Tools profile: minimal with group:fs, group:runtime allowed
Steps to reproduce
Configure OpenClaw with the following agent setup:
{
"id": "culinary-rd",
"model": "openai/gpt-5.1-codex",
"tools": {
"profile": "minimal",
"allow": ["group:fs", "group:runtime", "web_search", "web_fetch"],
"deny": ["group:sessions", "group:memory", "group:ui",
"group:automation", "group:messaging", "group:nodes", "image"],
"elevated": { "enabled": true }
}
}
Bind the agent to a Telegram bot account:
{
"type": "route",
"agentId": "culinary-rd",
"match": {
"channel": "telegram",
"accountId": "culinary-rd-bot"
}
}
Create a markdown file in the agent workspace:
mkdir -p ~/.openclaw/workspace-culinary-rd/corpus/ingredients
echo "# Yogurt\n## Functional Role\n- Acts as marinade medium" \
cat ~/.openclaw/workspace-culinary-rd/corpus/ingredients/yogurt.md
Returns file content correctly
openclaw gateway --force
Please run: cat /full/path/to/corpus/ingredients/yogurt.md and tell me what you see
I searched the corpus but found no relevant file for yogurt.
[telegram] sendMessage ok chat=XXXXXXXXX message=195
What does the corpus say about yogurt?
→ Agent successfully reads and summarizes corpus/ingredients/yogurt.md
exec + find → fires, no output
exec + cat → fires, no output
exec + bash → fires, no output
exec + python → fires, no output
native grep → fires, no output
native ls → fires, no output
Additional Context
Telegram bot dmPolicy is set to pairing
Telegram bot streaming set to off (tested, no effect)
groupPolicy set to open
Auth method: OpenAI API key (not OAuth)
Previously tested with openai-codex/gpt-5.4 via ChatGPT OAuth — same behavior
elevated.enabled: true set — no effect on Telegram tool output
yieldMs: 5000 instructed in AGENTS.md — no effect
Expected behavior
Agent executes the tool calls (exec, grep, find, cat) and returns the file contents
in its Telegram response, exactly as it does when the same query is sent via TUI.
Expected Telegram response example:
Based on corpus/ingredients/yogurt.md:
Yogurt functions as both a dairy ingredient and a culinary tool. Its main roles are:
Tool execution should be transparent — the agent fires exec/cat/grep, receives the
file output back into its context, and answers strictly from the retrieved content,
citing the source filename.
This behavior is confirmed working in TUI for the identical agent, model, workspace,
and corpus configuration. The Telegram channel runtime should produce the same result.
Actual behavior
The agent fires exec, grep, find, and cat tool calls but receives no output back into its context in the Telegram channel runtime. The agent responds with the corpus failure message defined in AGENTS.md:
"I searched the corpus but found no relevant file for yogurt."
Evidence:
OpenClaw version
2026.3.13 (61d171a)
Operating system
macOS, Apple Silicon, Node 22
Install method
npm/pnpm package manager (not a git checkout)
Model
openai/gpt-5.1-codex
Provider / routing chain
OpenAI API key (pay-as-you-go, platform.openai.com) → openai/gpt-5.1-codex → OpenClaw gateway (local, loopback, port 18789) → Telegram channel (culinary-rd-bot account) → agent culinary-rd
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
No response