-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Rina edited this page May 12, 2026
·
1 revision
- Node.js 22+
- pnpm (via corepack)
- tmux installed on the host
-
Claude Code CLI installed (
npm install -g @anthropic-ai/claude-code) - A Discord Bot Token with the following intents:
Guilds,GuildMessages,MessageContent
- Go to the Discord Developer Portal
- Create a new application
- Go to Bot → Reset Token → copy the token
- Enable Privileged Gateway Intents:
MESSAGE CONTENT INTENT-
SERVER MEMBERS INTENT(optional, for role-based ACL)
- Go to OAuth2 → URL Generator:
- Scopes:
bot,applications.commands - Bot Permissions:
Send Messages,Manage Channels,Read Message History,Attach Files,Add Reactions
- Scopes:
- Use the generated URL to invite the bot to your server
git clone https://github.com/aomkoyo/claude-tmux-discord.git
cd claude-tmux-discord
cp .env.example .envEdit .env and set at minimum:
DISCORD_TOKEN=your-bot-token-hereStart the bot:
docker compose up -dAuthenticate Claude Code inside the container:
docker compose exec bot claude loginThe Claude session is persisted via the
./claude-config:/home/node/.claudevolume mount.
git clone https://github.com/aomkoyo/claude-tmux-discord.git
cd claude-tmux-discord
./setup.sh
cp .env.example .envEdit .env with your Discord token, then:
pnpm dev # development with hot-reload
# or
pnpm build && pnpm start # production- The bot registers slash commands on startup (guild-scoped if
REGISTER_GUILD_IDis set, otherwise global — global can take up to 1 hour) - Use
/new name:my-roomin any channel to create a Claude room - Type messages in the created
#claude-my-roomchannel - Press
/enterto send buffered messages to Claude - Claude responds directly in the channel via
discord-send
pnpm build # prisma generate + tsc + copy generated client to dist/
pnpm start # prisma migrate deploy + node dist/index.js
pnpm dev # prisma generate + migrate deploy + tsx watch (auto-reload)
pnpm typecheck # tsc --noEmitclaude-tmux-discord — Discord bot for per-channel Claude Code sessions via tmux
Setup
Usage
Technical
Help