All work · Open source

Whisky Claude

A native macOS companion that puts Claude Code’s activity beside the notch, with an animated pixel pet and a sound when work needs your attention.

Open source · Worldwide

Client
Open source
Region
Worldwide
Status
Open source
Delivery
Whisky 11

The problem and context

When an agent runs in a terminal, its activity and requests for input are easy to miss. A native companion makes that state visible without opening another dashboard.

Who uses it

  • macOS users working with Claude Code in a terminal

What was built

  • Animated notch companion driven by Claude Code hooks
  • Visual states for working, waiting for input and completion
  • Attention sounds and native macOS controls

How it works

  1. Install the native app and connect its Claude Code hooks.
  2. The mascot changes state while work runs, waits for input or finishes.
  3. An attention sound highlights when the user needs to respond.
  4. Native controls manage the companion’s behaviour on the Mac.

How the system fits together

  • Swift 6 with AppKit/SwiftUI provides the native app and notch presentation.
  • Claude Code hook events drive state transitions.
  • Bundled pixel artwork supplies the animation; the project includes attribution and licence notices.

Technology stack

  • Swift 6
  • AppKit / SwiftUI
  • Claude Code hooks

Delivery and current status

  • Open-source code linked for inspection and building.
  • Current implementation includes an animated notch companion, rather than only a menu-bar status icon.
  • The source licence is AGPL-3.0 with artwork attribution.

Evidence

  • Native macOS app with bundled mascot artwork
  • Open source under AGPL-3.0

Scope and operating limits

  • The companion visualises agent events; it does not replace Claude Code or provide its model access.
  • Claude Code and supported macOS hardware/software remain prerequisites.
  • The companion responds to configured hooks; reliable state updates require those hooks to be installed.

← All work · Start a project