No description
Find a file
2026-04-02 17:02:42 +02:00
haptic-claude First commit 2026-04-02 17:02:42 +02:00
README.md First commit 2026-04-02 17:02:42 +02:00

haptic-claude

Haptic trackpad feedback for Claude Code on macOS.

A background daemon monitors trackpad touch state via the private MultitouchSupport.framework. When Claude finishes a task, needs input, or requests permission, a haptic vibration fires — either immediately if your finger is on the trackpad, or queued until you next touch it (within 30s).

Install

./haptic-claude install

Uninstall

./haptic-claude uninstall

How it works

  • haptic-daemon — long-running process that monitors finger contact and listens on a FIFO for trigger signals
  • haptic — lightweight client that writes a pattern name to the FIFO (falls back to direct haptic if daemon is dead)
  • haptic-hook.sh — Claude Code hook that maps events to pattern names

Events

Claude Event Pattern Default
Stop (task complete) stop Double burst
PreToolUse (needs input) input Single short burst
PermissionRequest permission Triple burst

Customization

Edit ~/.config/haptic/patterns.json:

{
  "default": "40x5 200 40x5",
  "stop": "40x5 200 40x5",
  "input": "20x5",
  "permission": "20x5 100 20x5 100 20x5"
}

Format: NxI = N taps at I ms interval, bare number = pause in ms.

Changes take effect immediately (config is re-read on each trigger).

Requirements

  • macOS (Apple Silicon or Intel)
  • Xcode Command Line Tools (xcode-select --install)
  • Input Monitoring permission (System Settings → Privacy & Security) for wait-for-finger haptic