LiveMIT License

claude-approve

Get a Discord DM when Claude Code needs your permission — reply to approve or deny from your phone. Plus optional remote commands.

ShellDiscord.jsNode.jsClaude Code HooksDiscord API

How It Works

Claude wants to run: npm test

→ Bot DMs you: "Claude wants to use: Bash — npm test — Reply Y to allow, N to deny."

→ You reply "Y" in Discord

→ Bot reacts ✅ and Claude continues

claude-approve uses Claude Code hooks and a Discord bot to turn permission prompts into DM conversations. When Claude needs to run a tool, you get a message on your phone instead of being stuck at your terminal.

The hooks are lightweight bash scripts that work out of the box — no Node.js required. They handle permission requests and idle notifications. The optional remote command bot (Node.js + discord.js) lets you go further: send Claude follow-up instructions, answer questions, and start new tasks, all from Discord.

Setup takes about 5 minutes. Clone the repo, run the installer, and you're good to go. Each person on a team can use the same bot with their own Discord User ID.

What's Included

Permission DMs

When Claude needs to run a tool, you get a Discord DM. Reply Y to approve, N to deny — all from your phone.

Idle Notifications

When Claude finishes a task and is waiting for input, you get a DM with what it said. Stay in the loop without being at your desk.

Remote Commands

Send Claude follow-up instructions from Discord. Continue conversations, answer questions, or start new tasks remotely.

Easy Toggle

Enable or disable Discord approvals with a single command. Fall back to normal terminal prompts anytime.

Quick Start

1

Add the bot to a Discord server

Click the invite link in the README to add the bot to any server you're in.

2

Get your Discord User ID

Enable Developer Mode in Discord settings, then right-click your name and copy your User ID.

3

Run the installer

Clone the repo, run ./install.sh, and enter your bot token and user ID. That's it.

$ git clone https://github.com/lizzy-schoen/claude-approve.git

$ cd claude-approve

$ ./install.sh