A Terminal User Interface (TUI) for managing Bluetooth connections on macOS, built with Go and wrapping around blueutil.
- 📱 List all paired Bluetooth devices
- 🔗 Connect/disconnect devices
- 🔵 Unpair devices
- 🔄 Refresh device list
- ⌨️ Intuitive keyboard navigation
- macOS
blueutilinstalled (can be installed via Homebrew:brew install blueutil)- Go 1.21+ (for building from source)
Download the latest release from the Releases page:
- Download the appropriate binary for your system (macOS Intel/Apple Silicon)
- Extract the binary and move it to a directory in your PATH:
# For example, to /usr/local/bin sudo mv bluetooth-tui /usr/local/bin/ - Run the application:
bluetooth-tui
go install github.com/MatthewMyrick/bluetooth-tui@latestAfter installation, you can run the application from anywhere:
bluetooth-tuibrew tap MatthewMyrick/bluetooth-tui
brew install bluetooth-tui-
Clone this repository:
git clone https://github.com/MatthewMyrick/bluetooth-tui.git cd bluetooth-tui -
Build the application:
go build -o bluetooth-tui
-
Run the application:
./bluetooth-tui
↑/k- Move up in the device list↓/j- Move down in the device listc- Connect to the selected deviced- Disconnect from the selected deviceu- Unpair the selected devicer- Refresh the device listq- Quit the application
- 🔗 Connected device
- 🔵 Paired but not connected device
- 📱 Other devices
The application uses the blueutil command-line tool to interact with macOS Bluetooth functionality:
- Lists paired devices using
blueutil --paired --format json - Gets connected devices using
blueutil --connected --format json - Connects to devices using
blueutil --connect <address> - Disconnects devices using
blueutil --disconnect <address> - Unpairs devices using
blueutil --unpair <address>
The TUI is built using Bubble Tea framework with Bubbles components for a rich terminal experience.
- github.com/charmbracelet/bubbletea - TUI framework
- github.com/charmbracelet/bubbles - TUI components
- github.com/charmbracelet/lipgloss - Styling
If you encounter permission issues, make sure your terminal application has the necessary permissions to access Bluetooth functionality in macOS System Preferences > Security & Privacy > Privacy > Bluetooth.