Skip to main content

Monitor and control Claude Code CLI sessions from your phone

Project description

ClaudeBud

PyPI version Python License: MIT

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 claudebud invocation, 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

  1. Run claudebud setup — it prints a URL like http://192.168.1.42:3131
  2. Open that URL in Chrome on your phone
  3. Tap 🔔 in the top bar → Enable notifications and accept the browser prompt
  4. 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

  1. Install Tailscale on both your machine and phone
  2. Run claudebud setup and note the local URL
  3. Replace the local IP with your machine's Tailscale IP
  4. Open http://<tailscale-ip>:3131 on 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

claudebud-0.1.4.tar.gz (37.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claudebud-0.1.4-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

Details for the file claudebud-0.1.4.tar.gz.

File metadata

  • Download URL: claudebud-0.1.4.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for claudebud-0.1.4.tar.gz
Algorithm Hash digest
SHA256 1b6a3c171842559c5bb5351309e6e545634c769ae7fff6ddf570ba4a01fb52aa
MD5 74f3a402de915f4a88f38e98dfb9c4b1
BLAKE2b-256 4568ea839744b59637f44c85b4c88f8599257bda105cdb7306f402ba30f1388b

See more details on using hashes here.

File details

Details for the file claudebud-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: claudebud-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for claudebud-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f788888fe7eb4d3412d9879715aede227914fa1e5584c83671060375be939a53
MD5 4610b8d044073c4fe8123cdf0556c162
BLAKE2b-256 48e6faf0d4766d4187468e053c4d31c0f01abdc7b5b33cddad2de4dcb08a2b87

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page