Native macOS live stream & music player

From live streams to NAS music—one polished music player for Mac.

Hay Radio brings internet live streams, local audio files, and music on SFTP/SMB/WebDAV shares together in a single playlist—without juggling separate apps. Control it from the GUI—or from the shell with hayctl, scriptable and friendly to local AI assistants.

macOS 12+ recommended. The public installer downloads the latest DMG from GitHub Releases.

New Jack Swing FM
  1. 01 Internet live stream
  2. 02 Local Track.m4a
  3. 03 NAS / Jazz / Blue.flac

Features

Built for how you actually listen

The simplicity of a stream-focused app, with the depth of a desktop music player.

Internet live streams

Tune in to real-time live streams and internet radio inside the app.

Local music library

Play and organize mp3, m4a, flac, wav, and more from your Mac in playlists.

Playlist workflow

Add, remove, rename, drag to reorder, and switch repeat/shuffle modes.

Native macOS feel

Media keys, AirPlay output picker, and a UI that fits light and dark environments.

Resume playback

Reopen the app and pick up where you left off on local and network tracks.

First-class command-line control

The hayctl CLI talks to the running app over a local Unix socket: list playlists and tracks, jump to a song, play/pause/stop, next / previous, change repeat/shuffle mode, and read playback status—ideal for scripts, shortcuts, and voice-driven workflows.

Per-app audio output

Send Hay Radio to a different speaker than the rest of macOS.

Pick the destination just for Hay Radio—your system output, a USB DAC, a connected Bluetooth speaker, or an AirPlay receiver—without disturbing the audio coming from your browser, calls, and notifications.

  • Independent from the macOS system output
  • System devices, USB / wired DACs, and connected Bluetooth speakers
  • Native AirPlay picker for AirPlay 2 receivers and Apple TV
  • Works the same for live streams, local files, and network drives
  • Currently selected output is shown right in the status bar
Hay Radio sound output picker showing System devices and AirPlay receivers

Network drive

NAS and remote libraries, like any other playlist.

Connect SFTP, SMB, or WebDAV as a network-drive playlist and see every audio file under your chosen path as tracks—ready to play.

  • SFTP / SMB / WebDAV
  • Optional credentials in macOS Keychain
  • On-demand fetch with next-track prefetch
  • Great for WebDAV, NAS, and personal servers
ProtocolWebDAV
Hostcloud.example.com
Path/Music/Jazz
StatusReady · 126 tracks

Install

One-line install from the terminal

Downloads the latest DMG and copies Hay Radio.app into /Applications.

curl -fsSL https://cdn.haysoft.net/radio/install.sh | bash

Served from Hay Soft CDN. The script downloads the DMG from cdn.haysoft.net/radio/ by default; override with HAY_RADIO_DMG_URL at install time if needed.

Command line & automation

Drive the player from Terminal—no clicking required.

Install hayctl once via Tools → Install Command-Line Tool… (bundled with the app). While Hay Radio is open, every command reaches the same engine as the UI, so your queue, network tracks, and play modes stay in sync.

  • Read-only queries: playlists, tracks, status
  • Transport: play, stop, pause, resume, toggle
  • Navigation: next, prev, select (playlist only)
  • Modes: mode off|loop|shuffle|cycle
  • Machine-friendly output: --json for one-line responses
$ hayctl --help
$ hayctl playlists
$ hayctl tracks "NAS Jazz"
$ hayctl play "NAS Jazz" 3
$ hayctl next
$ hayctl mode shuffle
$ hayctl status --json

Local AI agents

Let OpenClaw (and friends) press play for you.

hayctl is a normal macOS command-line program. Any local AI agent or assistant that can run shell commands on your machine—such as OpenClaw or other desktop “coding agent” setups—can orchestrate Hay Radio the same way you would in Terminal: discover what is playing, switch playlists, skip tracks, or start a specific song by name or index.

Hay Radio does not need a cloud API for this: the app exposes a small control channel on your Mac, so automation stays on-device if your agent does. Keep the app running and ensure hayctl is on your PATH for the user the agent uses.

# Example prompts you might give a local agent:
# “Run hayctl status”
# “Play the third track on my Jazz playlist”
# → hayctl play "Jazz" 2

$ hayctl status
$ hayctl play "Morning streams"
$ hayctl next

FAQ

Common questions

Does it run on Intel Macs?

Hay Radio is a macOS Tauri app; an Intel build is possible. The default installer points at an Apple Silicon DMG filename—adjust the release asset name if you ship an Intel build.

Where are network-drive passwords stored?

When you opt in, credentials are stored in the macOS Keychain—not as plain text in app settings files.

What does the install script do?

It downloads the DMG to a temp folder, mounts it, copies Hay Radio.app into /Applications, then cleans up the mount and temp files.

Why does hayctl say it cannot connect?

The CLI talks to the running Hay Radio process. Open the app first, then run hayctl again. If you use multiple macOS users, install hayctl for the same account that runs the agent.