# Install blueutil with Homebrew, MacPorts, Nix

Get/set bluetooth power and discoverable state. Version 2.13.0 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#blueutil.

## Install

```sh
sudo av install brew:blueutil
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install blueutil
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install blueutil
```

  Evidence: MacPorts ports tree: sysutils/blueutil/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#blueutil
```

  Evidence: nixpkgs package indexes: pkgs/by-name/bl/blueutil/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:blueutil
- **Package manager:** Homebrew
- **Version:** 2.13.0
- **Source summary:** Get/set bluetooth power and discoverable state
- **Homepage:** <https://github.com/toy/blueutil>
- **Repository:** <https://github.com/toy/blueutil>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- blueutil (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.13.0
## Project history and usage

blueutil is a long-running macOS command-line utility for reading and changing Bluetooth state: power, discoverability, paired and connected devices, device info, pairing, connection, and output formats for scripts.

### Project history

blueutil was originally written by Frederik Seiffert and later maintained by Ivan Kuchin, as recorded in the README copyright section. The GitHub repository dates back to 2011, with v1.0.0 tagged in 2012 and a continuing v2.x release line.

The tool grew from simple power and discoverability controls into a broader Bluetooth scripting interface. The README documents private IOBluetooth framework use, root-user safeguards, JSON output formats, device connection operations, wait commands, and an experimental system_profiler fallback for some paired-device queries.

### Adoption history

blueutil became the standard package-manager answer for 'control Bluetooth from a shell on macOS.' Its README documents Homebrew and MacPorts installs, and the input metadata also records a Nix package, reflecting adoption by both casual Mac users and reproducible-environment users.

Its role persisted because macOS does not expose all of these Bluetooth controls through a stable, script-friendly built-in CLI, so package managers filled the gap with a small native utility.

### How it is used

Users run blueutil with flags such as --power, --discoverable, --paired, --connected, --info, --connect, --disconnect, --pair, and --unpair. Output can be human-readable or JSON, making it useful in shell scripts, status bars, automation tools, and troubleshooting flows.

The README warns that it uses private IOBluetooth preference APIs and documents macOS-version quirks such as favorite/recent-device behavior starting with macOS 12 Monterey.

### Why package nerds care

blueutil is the classic tiny Mac systems package: one binary that unlocks automation around a GUI-controlled OS feature. Package nerds care because it has survived macOS Bluetooth API changes, packaging across Homebrew/MacPorts/Nix, architecture transitions, and years of shell-script dependence.

It also illustrates the maintenance burden of packaging native Mac utilities: private frameworks, root behavior, TCC/API access failures, output formats for scripts, and compatibility notes all live in a very small command-line surface.

### Timeline

- 2011: GitHub repository created for blueutil.
- 2012: v1.0.0 tag published.
- 2018: v2.0.0 tag published.
- 2021: README documents macOS 12 Monterey behavior changes for favorite and recent devices.
- 2025: v2.13.0 tag and README copyright show continued maintenance.

### Related projects

- blueutil-tui is documented by the README as a text user interface built on top of blueutil.
- Homebrew, MacPorts, and Nix are package-manager channels recorded for installation.
- macOS IOBluetooth and system_profiler are the platform interfaces used or offered as alternatives.

### Sources

- <https://github.com/toy/blueutil#readme>
- <https://github.com/toy/blueutil/releases>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - blueutil: normalized package name match | nixpkgs package indexes: pkgs/by-name/bl/blueutil/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - blueutil: normalized package name match | MacPorts ports tree: sysutils/blueutil/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/blueutil.yml](https://github.com/mxcl/pkgdb/blob/main/combined/blueutil.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
