Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
Replies in Slack threads appear to fail for Slack Connect users when native Slack streaming is enabled.
In our case, OpenClaw generated the reply internally, but Slack streaming later failed with:
[slack] slack-stream: failed to stop stream: Error: An API error occurred: user_not_found
### Steps to reproduce
Enable Slack native streaming:
channels.slack.streaming.mode = "partial"
channels.slack.streaming.nativeTransport = true
Use OpenClaw in a Slack shared channel / thread involving a Slack Connect user
Ask the bot to reply in-thread
Check delivery behavior and gateway logs
### Expected behavior
The final reply should be delivered reliably in the Slack thread.
If native streaming is not supported for that user/thread, OpenClaw should fall back cleanly to normal message delivery without losing the response.
### Actual behavior
The reply is generated internally, but Slack streaming fails during stop/finalize with:
[slack] slack-stream: failed to stop stream: Error: An API error occurred: user_not_found
I also observed this related log line during debugging:
[slack] slack-stream: streaming API call failed: Error: An API error occurred: user_not_found, falling back
So fallback may exist for streaming start/call failure, but finalize/stop failure still appears to cause unreliable delivery.
### OpenClaw version
2026.4.14
### Operating system
macOS 26.4.1
### Install method
npm
### Model
chatgpt 5.4
### Provider / routing chain
Slack Connect shared channel/thread → Slack Socket Mode → local OpenClaw Gateway (macOS) → agent/session routing (agentname) → OpenAI Codex gpt-5.4 for response generation → OpenClaw Slack transport → Slack Web API / native Slack text streaming. No additional proxy or external model router in the Slack delivery path.
### Additional provider/model setup details
Slack mode: socket mode
Slack config:
channels.slack.streaming.mode = "partial"
channels.slack.streaming.nativeTransport = true
channels.slack.replyToMode = "first"
### Logs, screenshots, and evidence
```shell
Impact and severity
No response
Additional information
This looks like a Slack Connect-specific issue in native Slack streaming.
My current hypothesis is that streaming is using message.user / recipient_user_id in a way that does not work for Slack Connect users, causing stream lifecycle calls to fail with user_not_found.
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
Replies in Slack threads appear to fail for Slack Connect users when native Slack streaming is enabled.
In our case, OpenClaw generated the reply internally, but Slack streaming later failed with:
Impact and severity
No response
Additional information
This looks like a Slack Connect-specific issue in native Slack streaming.
My current hypothesis is that streaming is using message.user / recipient_user_id in a way that does not work for Slack Connect users, causing stream lifecycle calls to fail with user_not_found.