Monitor and control Claude Code CLI sessions from your phone
Project description
ClaudeBud
Monitor and control Claude Code CLI sessions from your phone.
ClaudeBud is a drop-in replacement for the claude command. Type claudebud instead of claude — everything else is identical. Under the hood it wraps Claude Code in a pty, streams output to a background daemon, and serves a PWA web app on your local network so you can watch and interact with sessions from your phone.
Features
- Push notifications when Claude finishes or needs your input (browser-native Web Push, no app needed)
- Live terminal view on your phone with full session history
- Multi-session tabs — one tab per
claudebudinvocation, with custom names via-n - Configurable keyboard — customisable button grid + full virtual PC keyboard
- Remote access via Tailscale with no extra config
- Works on Windows, macOS, and Linux / WSL
Install
pip install claudebud
claudebud setup
Requires Python 3.8+ and Claude Code.
Quick start
# Drop-in replacement for 'claude':
claudebud
# Name the session tab on your phone:
claudebud -n my-project
# All claude flags pass through unchanged:
claudebud --model claude-opus-4-5 -p "summarise this file" < notes.txt
# First-time setup (autostart, local URL):
claudebud setup
How it works
claudebud (any terminal)
│ spawns claude in a pty, proxies I/O transparently
│ streams output to daemon over loopback HTTP
▼
ClaudeBud Daemon (background, auto-started)
│ FastAPI + WebSockets
│ detects prompts and completions, sends Web Push notifications
│ serves the PWA frontend
▼
ClaudeBud PWA (phone browser / home screen icon)
session tabs · live terminal · configurable keyboard
The daemon starts automatically the first time you run claudebud and keeps running in the background. You never manage it directly.
Phone setup
- Run
claudebud setup— it prints a URL likehttp://192.168.1.42:3131 - Open that URL in Chrome on your phone
- Tap 🔔 in the top bar → Enable notifications and accept the browser prompt
- Tap the browser menu → Add to Home Screen for a PWA icon
For detailed instructions see docs/setup.md.
For access from outside your home network, use Tailscale and open the URL with your machine's Tailscale IP instead.
Notifications
Uses the browser's built-in Web Push API — no external app or account required. Works in Chrome on Android; Safari on iOS requires iOS 16.4+ with the app added to the home screen.
You'll receive:
- ⚠️ Claude needs input — when Claude is waiting for your approval
- ✅ Claude finished — when a task completes
Configuration
~/.claudebud/config.json — created automatically on first run:
{
"port": 3131,
"prompt_patterns": ["(Y/n)", "(y/N)", "Allow", "Approve"],
"completion_patterns": ["Completed", "Task complete"],
"max_scrollback_lines": 2000
}
Autostart
claudebud setup configures the daemon to start on login:
| Platform | Method |
|---|---|
| macOS | launchd plist (~/Library/LaunchAgents/) |
| Linux | systemd user service |
| WSL | .bashrc / .zshrc guard |
| Windows | Startup folder batch script |
Without autostart, the daemon starts automatically on the first claudebud invocation.
Remote access with Tailscale
- Install Tailscale on both your machine and phone
- Run
claudebud setupand note the local URL - Replace the local IP with your machine's Tailscale IP
- Open
http://<tailscale-ip>:3131on your phone — done
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 claudebud-0.1.2.tar.gz.
File metadata
- Download URL: claudebud-0.1.2.tar.gz
- Upload date:
- Size: 37.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a21dfd490e0cb88d590cea02a6e0bd00b3e60ec558d1990031729f5c119aac9
|
|
| MD5 |
680d4af34e7c28d6dc98e800a03e1b2c
|
|
| BLAKE2b-256 |
c2899842da0c3eabd0f6b2626185f6dcce2b4802efa102ae44ef5b0b702f170b
|
File details
Details for the file claudebud-0.1.2-py3-none-any.whl.
File metadata
- Download URL: claudebud-0.1.2-py3-none-any.whl
- Upload date:
- Size: 33.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19766100de2f8549282dfca8d8660b7e17ed7b20adf5fe9ae28efe2c0a9840a6
|
|
| MD5 |
712e36608c65193fa998b74428aa894d
|
|
| BLAKE2b-256 |
4b47d1dc6c8482d3507334f21061a7752aa9e86623b727a03ffe78dc8cb99fc1
|