Every file, command, and config from the Discord Protocol episode — in one place you can copy from while you watch.
This post is the companion to the Discord Protocol video. Watch the video for the why — use this as your copy-paste reference while setting up.
Full repo: [github.com/AetherWave-Studio/autonomous-claude-code](https://github.com/AetherWave-Studio/autonomous-claude-code)
---
## The Three Files
**1. `~/.claude/discord-notify.sh`** — fires when Claude stops, sends a Discord embed to your phone.
Get it from the repo: [scripts/discord-notify.sh](https://github.com/AetherWave-Studio/autonomous-claude-code/blob/master/scripts/discord-notify.sh)
The only line you need to change after installing:
WEBHOOK_URL="YOUR_WEBHOOK_URL_HERE"
Replace with your actual Discord webhook URL. Then make it executable:
chmod +x ~/.claude/discord-notify.sh
Windows WSL: install to `/home/YOUR_WSL_USER/.claude/discord-notify.sh` — Claude Code hooks run through WSL bash, not your Windows home directory.
---
**2. `~/.claude/settings.json`** — registers the hook with Claude Code.
{
"hooks": {
"Stop": [{
"hooks": [{
"type": "command",
"command": "bash ~/.claude/discord-notify.sh"
}]
}],
"Notification": [{
"hooks": [{
"type": "command",
"command": "bash ~/.claude/discord-notify.sh"
}]
}]
}
}
WSL path variant: `bash /home/YOUR_WSL_USER/.claude/discord-notify.sh`
PowerShell variant: `powershell.exe -File $env:USERPROFILE\.claude\discord-notify.ps1`
Template in repo: [templates/settings.json](https://github.com/AetherWave-Studio/autonomous-claude-code/blob/master/templates/settings.json)
---
**3. `~/.claude/CLAUDE.md`** — the protocol Claude reads at session start that shapes every notification you receive.
Full file: [templates/CLAUDE.md](https://github.com/AetherWave-Studio/autonomous-claude-code/blob/master/templates/CLAUDE.md)
The format Claude writes before every stop:
STATUS: [COMPLETED | BLOCKED | NEEDS INPUT | ERROR]
- What was done: [concrete summary]
- Current state: [what works, what is tested]
- Next step: [what is needed to continue]
- Session: [unique session ID]
- Modified: [key files changed]
- Test: [command to verify work]
---
## The Slash Command
Create the commands directory if it does not exist:
mkdir -p ~/.claude/commands
Copy [templates/discord-protocol.md](https://github.com/AetherWave-Studio/autonomous-claude-code/blob/master/templates/discord-protocol.md) into it, then restart Claude Code.
Usage inside Claude Code:
/discord-protocol Analyze the authentication system and document all security issues
---
## Terminal Alias
Add to `~/.bashrc` for bash:
alias discord-protocol='claude code --dangerously-skip-permissions --system-prompt "Follow the Discord Notification Protocol in CLAUDE.md exactly. Write STATUS blocks. I am not at the computer."'
Add to `$PROFILE` for PowerShell:
function discord-protocol {
param([string]$Task)
claude code --dangerously-skip-permissions --system-prompt "Follow the Discord Notification Protocol in CLAUDE.md. Task: $Task"
}
Usage: `discord-protocol "Refactor the video editor scaling feature"`
---
## Getting Your Webhook URL
Discord > Server Settings > Integrations > Webhooks > New Webhook > Copy Webhook URL.
To post into a specific thread, append `?thread_id=YOUR_THREAD_ID` to the webhook URL. Get thread IDs by right-clicking the thread and selecting Copy Thread ID (requires Developer Mode in Discord settings).
---
## Test the Full Chain
Test the webhook directly:
curl -X POST "YOUR_WEBHOOK_URL" -H "Content-Type: application/json" -d '{"content": "Test from setup"}'
If that works but Claude Code notifications are not arriving, check your settings.json path and script permissions. See the [Troubleshooting guide](https://github.com/AetherWave-Studio/autonomous-claude-code/blob/master/docs/TROUBLESHOOTING.md).
---
## Session Naming Convention
Include a session ID in every task prompt so parallel work stays trackable in Discord:
{feature}-{component}-{number}
auth-middleware-001
video-waveforms-002
daw-bottlenecks-001
---
## What to Watch Next
The three posts published alongside the main repo go deeper on each dimension of this system:
- **Practical setup** — step by step for all platforms
- **The concept** — why interrupt-driven I/O is the right mental model
- **The philosophy** — what autonomous AI actually changes about the developer role
All in the Development Journey section of this blog.
---
Everything from the video is in the repo. MIT license. Open an issue if something does not work.

