Open Source

Hear your AI think.

A macOS menubar app that turns Claude Code into a radio station. Real-time procedural audio that changes with every thought, tool call, and response.

142.8 MHz
CLAUDE FM — GENERATING
RadioWave popover showing waveform and radio states

Live popover — menubar app, no dock icon

Radio States

STATIC — Idle

Warm atmospheric static with stereo crackle, distant sweep ghosts, and faint morse code fragments.

THINKING — Processing

Contemplative chord drones, oceanic pads, or eerie number station transmissions. Randomized each time.

TOOL USE — Executing

Mechanical clockwork, dialup modem handshakes, or rapid teletype clicks with confirmation bells.

ON AIR — Generating

Rich FM synthesis, gentle music-box arpeggios, or deep pulsar rhythms. The signature sound.

ERROR — Signal Lost

Descending siren with warm distortion, or digital glitch with bitcrushed stuttering.

TUNING — Transitions

Every state change sounds like turning a physical radio dial. Static, fragments, then lock.

Built for developers who listen.

Get started in 4 lines.

git clone https://github.com/hirakcoder/RadioWave.git
cd RadioWave
xcodegen generate
open RadioWave.xcodeproj

Requires macOS 14+, Xcode 15+, and XcodeGen. Build and run — it appears in your menubar.

Or download the pre-built DMG from the GitHub releases.

Troubleshooting

App won't open — "unidentified developer"

macOS blocks unsigned apps by default. Go to System Settings → Privacy & Security, scroll down, and click "Open Anyway" next to the RadioWave message. You only need to do this once.

No icon in the menubar

RadioWave is a menubar-only app — it does not appear in the Dock. Look for the antenna icon (📡) in the top-right area of your screen, near the clock. If it's hidden behind the notch on newer MacBooks, try clicking the area to the left of your existing menubar icons.

App installed but no sound

Click the menubar icon to open the popover. Check that the volume slider is not at zero. Also verify Claude Code is actually running — RadioWave only produces sound when it detects an active Claude Code session. Use Demo Mode (click the state buttons in the popover) to test audio without Claude.

Not detecting Claude Code activity

RadioWave uses Claude Code hooks to receive real-time events. On first launch it auto-installs the hook to ~/.claude/settings.json. If detection isn't working: (1) Restart Claude Code after installing RadioWave, (2) Check that the hook exists in your settings file, (3) Make sure port 19847 is not blocked by a firewall.

DMG won't mount / "damaged" warning

Run this in Terminal to remove the quarantine flag:
xattr -cr ~/Downloads/RadioWave-v1.0.0.dmg
Then double-click the DMG again. Alternatively, build from source using the 4 lines above.

How to uninstall the hook

Open RadioWave → Settings → Connection tab → click "Uninstall Hook". Or manually remove the RadioWave entry from ~/.claude/settings.json.

More by Hirak

DayDrop:Countdowns

iOS countdown app with AI backgrounds, widgets, and Live Activities. On the App Store now.

SwiftGenAI

AI-powered iOS prototyping tool. Design to working SwiftUI in seconds.

SiteAuditAI

Instant AI website audits. Built entirely with Claude Code.

WhatsWrongWithMySite

Free website roast & audit. Find what's broken in seconds.

StackWrite

AI-powered technical writing and blog publishing platform.