Gate Claude Code tool use behind Slack approvals and enable remote task execution from your phone
Project description
claude-gate
Gate Claude Code tool use behind approvals and control it remotely from your phone via Slack DMs.
What it does
- Remote task execution — start a session from Slack, send a task as text or 🎙️ voice message, confirm it with a button, and Claude Code runs it on your machine.
- Interactive sessions —
!start-sessionopens a back-and-forth conversation with Claude directly from Slack. Follow-up messages run instantly within the same session. - Task approval — every task shows a confirmation card with Run Task / Cancel before anything executes. Nothing runs without your explicit approval.
Install
pipx install claude-gate
Setup
1. Create a Slack app
Run the guided setup to get the manifest and step-by-step instructions:
cg setup-slack
This prints the Slack app manifest and walks you through creating the app, installing it to your workspace, and copying the Bot Token (xoxb-...) and App Token (xapp-...).
2. Initialise your project
Run this from your project root:
cg init
This creates .claude/ with all hook scripts and settings, then prompts for your tokens.
3. Verify and start
cg doctor # confirms tokens work
cg up # starts the daemon (Ctrl+C to stop)
cg up -d # or run it in the background
Slack commands
| Command | What it does |
|---|---|
!start-session |
Open an interactive back-and-forth session |
!end-session |
Close the interactive session |
!status |
Show what's running and elapsed time |
!output [N] |
Dump the last N lines of output |
!stop |
Kill the running task |
!log |
Show the path to the full task log file |
!revoke |
Revoke the "Allow All Session" flag early |
| 🎙️ Voice message | Transcribed via Whisper, confirmed via button (requires active session) |
CLI reference
cg setup-slack Print Slack app manifest and guided setup (start here)
cg init Scaffold .claude/ and configure credentials
cg init --adopt Existing .claude/ setup — just write .env
cg up Start daemon in foreground
cg up -d Start daemon detached (background)
cg down Stop background daemon
cg status Show daemon status and recent logs
cg logs [-f] Tail activity and daemon logs
cg doctor Verify tokens, deps, hook integrity
cg upgrade-hooks Update hook files from package (backs up yours first)
cg remove Remove claude-gate from the current project
Requirements
- Python 3.10+
- A Slack workspace where you can install apps
claudeCLI installed and authenticatednotify-sendfor desktop notifications (optional —sudo apt install libnotify-bin)- OpenAI API key for voice message transcription (optional)
How it works
Claude Code runs hooks before every tool use. The hooks in .claude/hooks/ post an approval card to your Slack DM and wait for your response. The daemon (cg up) listens for incoming Slack messages and spawns claude --print subprocesses for remote tasks.
See CLAUDE.md for the full architecture.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_gate-1.0.1.tar.gz.
File metadata
- Download URL: claude_gate-1.0.1.tar.gz
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38b16d3adef0380c70b6706fcfd5a88d267d0943ce6349e7613840b71ab02608
|
|
| MD5 |
cd216cec0f13e62c1511e5120d1af5e3
|
|
| BLAKE2b-256 |
bc4cf589e63b5de00a452c9e60e8fc619c70805432a7dcb0ba5a2f72649a592b
|
File details
Details for the file claude_gate-1.0.1-py3-none-any.whl.
File metadata
- Download URL: claude_gate-1.0.1-py3-none-any.whl
- Upload date:
- Size: 29.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f2f57dc56807c32bec4a1721036b6a6a675228836e3401d35e44f74c6f1fb28
|
|
| MD5 |
7c7511e53b3d789f01c4d63253f0c85b
|
|
| BLAKE2b-256 |
a1f15b63c3d02c8a61a29b1a17db59248c361babfb0000763a7eb513071fb016
|