A native macOS remote for Apple TV.
Apple TV Remote is built for people who want a small desktop remote: discover an Apple TV on your local network, pair once, then use a touchpad-style control surface, keyboard shortcuts, playback controls, text entry, and power controls from macOS.
This project is pre-release. It is usable from source, but behavior can vary by Apple TV model, tvOS version, network permissions, and HDMI-CEC setup.
The current release is unsigned. macOS may show a Gatekeeper warning the first time you open it.
- Download the latest
Apple.TV.Remote.app.zipfrom Releases. - Unzip it.
- Move
Apple TV Remote.appto/Applications. - Open
Apple TV Remote.app.
If macOS blocks the app because it is unsigned, remove quarantine metadata after unzipping:
xattr -cr "Apple TV Remote.app"Then open it again.
Use this path if you prefer to build locally.
Requirements:
- macOS 13 or newer
- Python 3.7 or newer
- Xcode Command Line Tools
Install Command Line Tools if needed:
xcode-select --installBuild the app:
git clone https://github.com/sewatson/apple-tv-remote.git
cd apple-tv-remote
./build.shLaunch it:
open "Apple TV Remote.app"Optional: install into Applications:
cp -r "Apple TV Remote.app" /Applications/See docs/RELEASE.md for release and unsigned build notes.
- Open
Apple TV Remote.app. - Click the device picker.
- Select your Apple TV.
- Enter the PIN shown on your Apple TV when prompted.
After pairing, credentials are stored locally by pyatv and the app will try to reconnect on future launches.
Pairing credentials live at:
~/.appletv_remote/pyatv_storage.json
Delete that file to reset pairing.
- Swipe on the touchpad to navigate.
- Tap the touchpad to select.
- Use Menu/Back to go back.
- Use Home to return to the Apple TV home screen.
- Use Play/Pause when playback controls are available.
- Use the keyboard button for text entry.
- Use the power button to wake or sleep the device.
Movement:
- Arrow keys
- WASD
Actions:
- Select:
ForReturn - Menu:
Qor/ - Home:
Eor. - Play/Pause:
Space - Power On:
⌘O - Power Off:
⌘P
Standard macOS shortcuts such as ⌘Q, ⌘W, and ⌘, are preserved.
No devices found
- Make sure your Mac and Apple TV are on the same network.
- Confirm macOS Local Network permission is allowed.
- Wake the Apple TV and try discovery again.
Pairing does not work
- Check that you entered the correct PIN.
- Reset local pairing:
rm -f ~/.appletv_remote/pyatv_storage.jsonCommands do not work
- Rebuild with
./build.sh. - Re-pair if needed.
- Confirm the selected Apple TV is awake and reachable.
App will not open
xattr -cr "Apple TV Remote.app"Apple TV Remote does not include telemetry, analytics, or intentional communication outside your local network. It uses pyatv to discover and control Apple TV devices locally.
See PRIVACY.md for details.
Developer documentation lives in docs/DEVELOPMENT.md. Product scope and architecture live in docs/SPEC.md.
pyatvby Pierre Ståhl: https://github.com/postlund/pyatv- Third-party notices are listed in THIRD_PARTY_NOTICES.md.
Apple, Apple TV, macOS, Swift, and SwiftUI are trademarks of Apple Inc. This project is not affiliated with or endorsed by Apple Inc.
MIT. See LICENSE.