Claude-remote-approve
claude-remote-approve is a remote-approval server for Claude Code hooks via ntfy notifications. Approve or deny Claude Code tool executions from your phone.
Stack: Python. License: MIT. Private repo.
Features
- Permission requests — approve / deny Bash commands, file writes, other tool executions via ntfy buttons.
- AskUserQuestion support — answer Claude's questions remotely with interactive buttons.
- Mobile-friendly — any ntfy client (Android, iOS, web).
- Fallback to CLI — times out gracefully after 55 s, falling back to CLI interaction if no remote response.
Flow
Claude Code calls tool (e.g. Bash)
↓
Hook fires → hook.py
↓
POST to server.py endpoint
↓
Server sends ntfy notification with action buttons
↓
User taps Approve/Deny (or answer option)
↓
ntfy calls back to server
↓
Server returns decision to hook
↓
Claude Code proceeds (or is denied)
Endpoints
POST /request, POST /question, POST /approve/{id}, POST /deny/{id}, POST /question-answer/{id}/{q}/{a}, GET /health.
Limitations
- Timeout — 55 s before CLI fallback.
- Button limit — ntfy supports 3–4 action buttons per notification.
- Multi-select questions fall back to CLI.
- "Other" responses — custom text input requires CLI.