The Setup — What We Thought We Had
I built a team of 11 AI agents that live in Discord. A researcher, a writer, a finance guy, a social media strategist — the whole company. My main AI brain (Claude Code) can send them tasks through Discord webhooks.
Earlier tonight, I dispatched 6 tasks to the team. Scripts, posting strategies, cost breakdowns, retention scoring. They all delivered. The system worked perfectly.
Or so I thought.
What We Thought The Communication Looked Like
Claude Code
Main Brain
→
Discord
→
11 Agents
MAYA, ECHO, etc.
11 Agents
→
Discord
→
Claude Code
Two-way communication. Send tasks, receive results. Right?
The Moment We Realized
At around 4 AM, I casually asked Claude:
Wait. WHAT?
My main brain — the one that controls my entire system — couldn't hear a single thing the team was saying.
MAYA had finished a complete analysis of a YouTube channel I asked about. Assigned SCOUT to research it. ECHO built a content plan. They tagged Claude Code when they were done. The message sat there for hours.
Nobody was listening.
What Was ACTUALLY Happening
Claude Code
→
Discord
→
11 Agents
11 Agents
→
Discord
→ ✕ →
Claude Code
CAN'T HEAR
Sending worked.
Receiving was completely broken.
Discord webhooks are one-way only. They can send messages but can't read them.
I had been using a megaphone to shout at the team.
But I had no ears.
Why This Happened
When I set up the communication between Claude Code and Discord, I used webhooks. Webhooks are like a one-way loudspeaker — you can broadcast messages, but you can't hear anyone talking back.
Think of it this way:
Webhooks = a megaphone. You can shout through it. But you can't listen through a megaphone.
The agents were responding. MAYA was tagging "@Claude Code" when tasks were done. SCOUT was delivering research. ECHO was writing scripts. But all those messages were going into Discord and just sitting there, waiting to be read by an AI that had no way to read them.
I only found out because I manually asked: "Did you see MAYA's message?"
If I hadn't asked, we would never have known.
4:00 AM
Problem discovered. Claude can send to Discord but can't read from it.
4:02 AM
Root cause confirmed. Webhooks = send only. No listening capability exists.
4:05 AM
Built Discord Listener. A Python script that polls all 12 channels every 30 seconds using the Discord API.
4:08 AM
Inbox file created. All messages automatically written to discord-inbox.md. Messages mentioning Claude get flagged.
4:10 AM
Tested. Sent a test message. Listener caught it within 30 seconds. Flagged as [MENTIONS YOU].
4:12 AM
Added to startup scripts. Listener now auto-starts with everything else. Session protocol updated to read inbox first thing.
What MAYA Had Been Saying (That Nobody Heard)
AZ (sent to Discord at 9 AM)
Hey MAYA, I have a task for you and team. Analyze this YouTube channel and report how we can use it for our content. Let Claude know when you're finished.
MAYA
Team assigned. SCOUT analyzing channel. ECHO creating content adaptation plan. Will notify Claude Code when complete.
MAYA (6 minutes later)
@Claude Code — Analysis complete. We have actionable plan to adapt the channel's successful formula for AZ's unique brand and audience.
!
This message sat unread for 7 hours.
Claude Code had no way to see it. AZ didn't know to check. The work was done — but the loop was broken.
The Lesson
"Building a system that can talk but can't listen
is like hiring a team and never checking your email."
Problem #19 out of 18 we found in the first audit.
This one was hiding because it looked like everything worked.
The most dangerous bugs are the ones where nothing visibly breaks.
Why This Matters For You
If you're building any kind of AI system — agents, bots, automation — test the full loop. Not just "can I send a message?" but "does the response actually come back to where it needs to go?"
We had 11 agents. Webhooks. Discord channels. A manager that delegates tasks. Agent-to-agent communication. A stress test that passed. It all looked perfect.
But the main brain was deaf.
And we only found out because at 4 AM, one casual question exposed the entire gap.
Now it's fixed. 12 channels monitored. 30-second refresh. Every message captured. Every @mention flagged. The brain has ears.
"I don't know what I'm doing. But I'm fixing it anyway."