Open Source Radar
CapsLockLED is a Swift-based menu bar app that uses the Caps Lock light as a status indicator for Claude Code. It provides setup steps, hooks into Claude Code, and runs with a self-signed code signing flow.
36stars
0forks
0issues
2026since
Star historydaily snapshots by VibeCrowd
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
Reviewgenerated from repository data · Jul 18, 2026
What it is
CapsLockLED is a Swift-based menu bar application that repurposes the Caps Lock light on macOS to reflect Claude Code status. It communicates with Claude Code via hooks and provides a small CLI inside its bundle to manage notifications. The app is described as self-signed with no notarization and relies on macOS Input Monitoring permissions to control the keyboard light without changing the Caps Lock state.
How it works
- The app runs in the menu bar and uses the keyboard light to indicate Claude status:
- Slow blink when Claude is working on a request
- Fast blink when waiting for input or idle
- Two quick flashes, then off when Claude finished
- It exports a set of hooks via Claude Code integration (UserPromptSubmit, Stop, Notification) to drive the light through a small internal CLI (caps-signal) and a notification hook (capslock-notify.sh).
- Hooks are installed into ~/.claude/settings.json by the HookInstaller.swift logic, and the project maintains a code-signing flow locally for macOS permissions.
Getting started
- Build and package:
./build.sh # compiles and assembles CapsLockLED.app (code-signed locally) ./make-dmg.sh # packages CapsLockLED.app into dist/CapsLockLED.dmg - Hooks setup:
- From the app, choose "Set Up Claude Code Hooks" to install, and use the headless option via CapsLockLED --setup-hooks / --remove-hooks as needed.
- Permissions:
- Grant Input Monitoring for CapsLockLED in System Settings -> Privacy & Security.
- If macOS blocks, use right-click Open on the app and follow the prompts, and ensure the CapsLockLED is allowed in Input Monitoring.
- To disconnect:
- Menu bar icon → "Remove Claude Code Hooks".
Recent releases
- Latest releases: none
Traction
- Stars: 36
Behind the repo
- Repository is a Swift Package-based project with a local code-signing setup and references to a self-signed identity (CapsLockLED Dev).
Caveats
- License: none listed
- Created: 2026-07-17
- Last push: 2026-07-17
- The app is self-signed and not notarized by Apple; distribution notes mention Gatekeeper warnings for unknown developers and required steps to bypass.
- The app relies on macOS Input Monitoring permissions and may require manual permission toggling if not granted.
- The README specifies commands and hooks but does not provide external dependencies beyond macOS components and IOKit interactions.
