Skip to main content

Send Claude Code notifications to your Apple Watch

Project description

WatchCode CLI

Send Claude Code notifications directly to your Apple Watch.

What is WatchCode?

WatchCode lets you receive notifications from Claude Code on your Apple Watch - no iPhone required. Get instant alerts for permission requests, tool usage, errors, and more.

Installation

# Install pipx if you don't have it
brew install pipx && pipx ensurepath

# Install WatchCode CLI
pipx install watchcode-cli

Quick Start

  1. Install the WatchCode app on your Apple Watch (available on the App Store)

  2. Get your setup code from the Watch app:

    • Open WatchCode on your Watch
    • Go to Settings
    • Note your setup code (format: XXXX-XXXX-XXXX)
  3. Configure the CLI:

    watchcode setup
    

    This will:

    • Prompt for your setup code
    • Install Claude Code hooks automatically
    • Send a test notification to verify setup
  4. Done! Claude Code will now send notifications to your Watch.

Commands

watchcode setup

Interactive setup wizard. Configures WatchCode with your setup code, installs hooks, and sends a test notification.

watchcode setup

watchcode test

Send a test notification to your Watch.

watchcode test

watchcode status

Show configuration and hook status.

watchcode status

watchcode install-hooks

Install Claude Code hooks for WatchCode (normally done during setup).

watchcode install-hooks

watchcode uninstall-hooks

Remove WatchCode hooks from Claude Code.

watchcode uninstall-hooks

watchcode flush

Manually send queued offline notifications.

watchcode flush

watchcode notify

Send notification from Claude Code hook (used internally by hooks).

# Examples (normally called by Claude Code hooks)
watchcode notify --event stop
watchcode notify --event permission_request --requires-action
watchcode notify --event notification

How It Works

WatchCode uses Claude Code's hook system to send notifications:

  1. Hook triggers - Claude Code calls WatchCode hooks on events (permission requests, tool usage, etc.)
  2. Relay server - WatchCode CLI sends notification to Cloudflare Worker relay
  3. APNs delivery - Relay forwards to Apple Push Notification service
  4. Watch receives - Your Apple Watch receives the notification instantly

Supported Events

WatchCode supports all Claude Code hook types:

  • Stop - When Claude Code stops execution
  • PreToolUse - Before using a tool (optional confirmation)
  • PermissionRequest - When Claude needs permission (requires action)
  • Notification - General notifications
  • SessionStart / SessionEnd - Session lifecycle events

Offline Queue

If the relay server is unreachable, notifications are queued locally and automatically sent when connectivity is restored.

View queued notifications:

watchcode status

Manually flush queue:

watchcode flush

Configuration

WatchCode stores configuration in ~/.watchcode/:

  • config.json - Setup code and relay URL
  • offline_queue.json - Queued notifications (when offline)

Claude Code hooks are installed in ~/.claude/settings.json.

Privacy & Security

  • No data collection - WatchCode only sends what's needed for notifications
  • Secure relay - End-to-end encrypted via APNs
  • Auth tokens - Setup codes authenticate your device (no passwords)
  • Open source - Full source code available on GitHub

Troubleshooting

Notifications not appearing on Watch

  1. Check configuration: watchcode status
  2. Verify hooks are installed: watchcode install-hooks
  3. Test notification: watchcode test
  4. Check Watch is connected and WatchCode app is installed

Network errors

If you see "Network error: Notification queued", the relay server is unreachable. Notifications will be queued and sent automatically when online. Run watchcode flush to retry manually.

Invalid setup code

Setup codes are 12 alphanumeric characters (format: XXXX-XXXX-XXXX). Get your code from the WatchCode app on your Watch (Settings screen).

Links

License

MIT License - see LICENSE file for details.

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

watchcode_cli-1.0.18.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

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

watchcode_cli-1.0.18-py3-none-any.whl (44.2 kB view details)

Uploaded Python 3

File details

Details for the file watchcode_cli-1.0.18.tar.gz.

File metadata

  • Download URL: watchcode_cli-1.0.18.tar.gz
  • Upload date:
  • Size: 43.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for watchcode_cli-1.0.18.tar.gz
Algorithm Hash digest
SHA256 39e76ae39b70bcc4981d25605b9e5ee5b8a10c70af5df01890afacccec4f11d7
MD5 3bad579d632ebc324465d50c15d52565
BLAKE2b-256 871dc876c6d50682b0cb18bab1d233ec58893219e323b380c66e75295e894e88

See more details on using hashes here.

File details

Details for the file watchcode_cli-1.0.18-py3-none-any.whl.

File metadata

  • Download URL: watchcode_cli-1.0.18-py3-none-any.whl
  • Upload date:
  • Size: 44.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for watchcode_cli-1.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 77942568d75e7e5e95db6bce0d7797ece1f87ff4b145fc64fd6ade69a1373924
MD5 9523f7a8976d69e3db13559d7acf75af
BLAKE2b-256 1082d93f1058c8e4f7877a6927b640bafbf3c4c3c09554a7ec3222f4c3725136

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