This question is almost the same as my previous question, but with one major difference; I want to turn on/off Bluetooth from the command line (bash or similar), NOT from AppleScript - the answers for this I saw on superuser all used AppleScript.

I would guess that networksetup might be useful but have no idea what interface(s) to interact with - I would like an answer including a complete command I can run (and understand) - if device model matters, it's Snow Leopard on MacBook2,1 to MacBook7,1, except MacBook5,1, and if you can only do for 6,1 and 7,1 that's fine.

  • 1
    You can run AppleScript from the command line using osascript -e "<applescript goes here>" if popping up windows is the only issue you have with using it. Commented Apr 3, 2012 at 17:43
  • I don't like AppleScript as a language; it tends to be verbose. Commented Apr 3, 2012 at 21:43
  • Also, Assistive Devices aren't enabled and I can't admin on this computer. Commented Apr 3, 2012 at 21:48

4 Answers 4


Blueutil is a neat little command line tool to do this. It's free and comes with the source code. If you have homebrew installed, you can install it via brew install blueutil.


Print bluetooth status

Switch bluetooth on
blueutil --power 1 or blueutil -p 1

Switch bluetooth off
blueutil --power 0 or blueutil -p 0

Works just fine on a Macbook Pro running Lion (10.7.3) and Mac mini running Snow Leopard (10.6.8). You will get some errors if you switch off the bluetooth whilst a magic mouse is connected, it still works though :)

  • Thank you. I'll accept this soon but don't like to accept within 6 hours after posting (if you can do this without downloading anything, just using built-in OS X that would also be very nice so I'm waiting to see if someone suggests that). Commented Apr 3, 2012 at 21:41
  • 3
    @Andrew The other way you could do this without downloading anything is by killing (and restarting) the bluetooth daemon process (blued) as follows. However, I would recommend not to use this method as it plays havoc with the bluetooth preferences pane and the bluetooth status icon in the menubar, as they now will not be able to update themselves any more. To stop the bluetooth daemon: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist. To restart the bluetooth daemon: sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
    – binarybob
    Commented Apr 3, 2012 at 22:23
  • 1
    I didn't give it an admin privilege. I just copied out the binary. Commented Nov 25, 2012 at 4:03
  • 1
    Yeah, just copied the binary to /usr/local/bin. But where's that questionable code? Took a look at the included source and it looked legit, didn't build it though.
    – Erika
    Commented Mar 8, 2013 at 18:59
  • 5
    This was a great answer and BTW, you can brew install blueutil to easily install it. They seem to have changed the command line flags, use blueutil power 1 to turn on bluetooth. Commented Jun 16, 2014 at 3:58

The following worked for me (OSX 10.7.5) to turn bluetooth ON from the command line (using commands found here):

sudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist

(I ran into the problem that I disabled bluetooth and then on the next system start I could not use the wireless keyboard anymore... so no logging in from the screen but I could log in via ssh. And it was not clear to me how to install software such as blueutil from the command line as suggested by @binarybob )

  • I can't sudo on this computer, as per one of my other comments, but this is still nice to know. I unpacked blueutil graphically and then ran the executable from the command line, so I had to already have set it up. Commented Sep 1, 2013 at 17:35
  • As binarybob previously said in his comment, this can confuse the GUI Commented Feb 8, 2016 at 15:07

Solution for macOS 13 Ventura which does not require 3rd party utility:

/usr/bin/defaults write /private/var/root/Library/Preferences/com.apple.BTServer.plist defaultPoweredState off

/usr/bin/killall -HUP bluetoothd


This opensource mac command line tool supposedly does that, and a whole lot more:


The ultimate tool to manage your Mac. It provides a huge set of command line commands that automatize the usage of your OS X system.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .