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.2.tar.gz (37.1 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.2-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

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

Hashes for claudebud-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8a21dfd490e0cb88d590cea02a6e0bd00b3e60ec558d1990031729f5c119aac9
MD5 680d4af34e7c28d6dc98e800a03e1b2c
BLAKE2b-256 c2899842da0c3eabd0f6b2626185f6dcce2b4802efa102ae44ef5b0b702f170b

See more details on using hashes here.

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

Hashes for claudebud-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 19766100de2f8549282dfca8d8660b7e17ed7b20adf5fe9ae28efe2c0a9840a6
MD5 712e36608c65193fa998b74428aa894d
BLAKE2b-256 4b47d1dc6c8482d3507334f21061a7752aa9e86623b727a03ffe78dc8cb99fc1

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