[BUG] Slack replies not sending despite credentials being provably valid with manual cURL
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Include:
Bug Report:
Version: 2026.1.24-3
OS: Linux 6.17.9-76061709-generic
Issue: Slack messages are received and processed by the AI, but no replies are sent. No errors in logs. WhatsApp works perfectly.
Evidence:
- Messages received: ✅ (logs show agent processing)
- AI generates response: ✅ (processing completes successfully)
- Reply sent: ❌ (no "reply sent" log, no API call)
- Manual API call works: ✅ (can post with curl)
Config:
- Socket mode
- groupPolicy: open
- Bot invited to channel
What Should Happen?
Clawdbot should send a reply when it's @'ed
Error Messages/Logs
Steps to Reproduce
- Install and configure Clawdbot with Slack credentials:
npm install -g clawdbot
clawdbot setup
# Configure Slack tokens when prompted
- Start the gateway:
clawdbot gateway
- Verify Slack connection:
clawdbot channels status --probe
# Should show: "Slack default: enabled, configured, running, works"
- In Slack, invite the bot to a channel:
/invite @your-bot-name
- Send a message mentioning the bot:
@your-bot-name hello
Expected behavior:
- Bot receives the message
- Bot processes it with AI
- Bot sends a reply in the Slack channel
Actual behavior:
- Bot receives the message ✅
- Bot processes it with AI (visible in logs: embedded run start, embedded run done) ✅
- Bot does not send any reply ❌
- No error messages in logs
- No "reply sent" or API call attempt logged
- Complete silence after processing
Verification:
- Check logs show message received and processed:
clawdbot logs | grep -i slack
# Shows: "lane enqueue: lane=session:agent:main:slack:channel:..."
# Shows: "embedded run done" with no errors
# Does NOT show: any reply/send attempt
- Verify bot CAN post manually (proves permissions are correct):
curl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer xoxb-..." \
-H "Content-Type: application/json" \
-d '{"channel":"C...", "text":"test"}'
# Returns: {"ok":true, ...}
- Compare to WhatsApp (works correctly):
# Configure WhatsApp, send message
# Logs show: "auto-reply sent (text)" ✅
# Message appears in WhatsApp ✅
Additional observations:
- WhatsApp replies work perfectly with same config
- Slack socket mode connects successfully
- Bot processes ALL messages but sends ZERO replies
- No difference between simple messages ("hello") vs complex ones
- Removing userTokenReadOnly setting didn't help
- Debug logging enabled shows no additional errors
● How is Claude doing this session? (optional)
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2026.1.24-3
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗