bluetoothctl
Control Bluetooth devices from the command line
TLDR
Enter interactive shell
$ bluetoothctl
List devicescopy
$ bluetoothctl devices
Power controller on/offcopy
$ bluetoothctl power on
Pair with devicecopy
$ bluetoothctl pair AA:BB:CC:DD:EE:FF
Connect to devicecopy
$ bluetoothctl connect AA:BB:CC:DD:EE:FF
Disconnect devicecopy
$ bluetoothctl disconnect AA:BB:CC:DD:EE:FF
Remove devicecopy
$ bluetoothctl remove AA:BB:CC:DD:EE:FF
copy
SYNOPSIS
bluetoothctl [OPTIONS] [COMMAND]
DESCRIPTION
bluetoothctl manages Bluetooth devices on Linux. It provides an interactive shell for discovering, pairing, connecting, and managing Bluetooth devices.
PARAMETERS
-a, --agent capability
Register an agent handler with the specified capability.-e, --endpoints
Register media endpoints.-m, --monitor
Enable monitor output.-t, --timeout seconds
Timeout for non-interactive mode.-v, --version
Display version.-h, --help
Display help.list
List available controllersshow [ctrl]
Show controller informationselect ctrl
Set the default controllerdevices [filter]
List known devices (filter: Paired, Bonded, Trusted, Connected)power on|off
Turn Bluetooth controller on or offscan on|off
Start or stop device discoverypair address
Pair with device by MAC addressconnect address
Connect to paired devicedisconnect address
Disconnect from deviceremove address
Remove device from known listtrust address
Mark device as trusteduntrust address
Remove trust from deviceinfo address
Show device informationblock address
Block a device from connectingunblock address
Unblock a previously blocked devicediscoverable on|off
Set controller discoverabilityagent on|off|capability
Register or unregister agenthelp
Show available commands
CAVEATS
Requires the bluetooth service to be running. Some operations require devices to be in pairing mode. MAC addresses are in format AA:BB:CC:DD:EE:FF.
HISTORY
bluetoothctl is part of BlueZ, the official Linux Bluetooth protocol stack.