bluetuith: A Cross-Platform Terminal Bluetooth Manager
A cross-platform TUI bluetooth manager.
At a glance
- What is it?
- bluetuith puts adapter selection, pairing, device menus, file transfers, and media controls in a terminal interface. It targets users who want one keyboard-driven Bluetooth manager across Linux, macOS, and Windows, but its alpha status and platform-dependent feature set require careful evaluation.
- Who is it for?
- bluetuith is appropriate for users who want Bluetooth management inside a terminal and can tolerate alpha software with platform-dependent capabilities. It is a poor fit for users who require documented production readiness or a fixed feature set across every operating system.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 130 days ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 7, 2026, and from our analysis. They are not legal advice.
Star history
- bluetuith-org/bluetuith1,428 ★ · +4
| Repository | 2026-10-17 | 2026-11-07 |
|---|---|---|
| bluetuith-org/bluetuith | 1.4k | 1.4k |
4 Stars in the last 21 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
bluetuith Targets Terminal-Based Bluetooth Management
bluetuith is a cross-platform Bluetooth connection manager built around a terminal user interface, or TUI. Its intended audience is people who routinely work in command-line environments but still need to interact with Bluetooth adapters and paired devices. The README says the project aims to replace most Bluetooth managers, naming Blueman as an example, so its central proposition is not simply detecting devices. It is to put common connection work inside one interactive terminal application.
The documented feature set covers adapter selection and status indicators, mouse support, device interaction menus, pairing and file-transfer authentication, file-transfer progress, and a media player. That places bluetuith closer to a general Bluetooth control surface than a command that only scans for nearby hardware. Its topics list Linux, macOS, Windows, Bluetooth, BlueZ, and TUI, while the project description identifies it as cross-platform.
That breadth comes with an important qualification. bluetuith explicitly describes itself as being in the alpha stage. It is therefore reasonable to treat the interface as usable project software, but not as a manager with a documented compatibility promise. The README also directs readers to a separate feature matrix and operating-requirements documentation because supported functions vary by platform. Users should not assume that a feature listed for one operating system is available on all three.
The terminal approach is most relevant to users comfortable navigating an interactive text interface. Keyboard operation is inherent to a TUI, although the README also lists mouse support. People who need a vendor-managed desktop panel, system tray integration, or operating-system settings integration may find that a traditional platform-specific manager fits their workflow better.
Repository Structure Separates Bluetooth Operations from the TUI
The repository layout shows a Go application with entry-point files at `main.go` and `cmd/`, while the interface code is collected under `ui/`. Configuration and command-line dependencies include `urfave/cli/v2` and the `koanf` configuration packages. This indicates that the executable has separate areas for application startup, command-line handling, configuration loading, and terminal presentation, although the README does not provide an architectural diagram or describe every boundary in detail.
Bluetooth access is connected through `github.com/bluetuith-org/bluetooth-classic`, pinned in `go.mod` as version `v0.0.8`. The README links to that dependency for its per-platform feature matrix and operating requirements. This is the most concrete architectural fact available about device handling: the user interface is not described as talking to every operating-system Bluetooth service directly. Instead, platform behavior is associated with the separate `bluetooth-classic` project.
The interface stack is based on `github.com/darkhz/tview` and `github.com/gdamore/tcell/v2`. In combination with the `ui/` directory, those dependencies account for the terminal-oriented presentation layer. The module also includes packages for progress display, concurrent state management, UUID handling, text layout, color, and configuration parsing. Those dependencies fit several documented UI states, especially authentication, transfer progress, and device menus, but the repository information does not document their exact runtime data flow.
The absence of a documented sequence such as adapter discovery, polling, caching, and event handling should not be overlooked. Engineers extending bluetuith would need to inspect the source and `bluetooth-classic` documentation rather than infer event semantics from the feature list. The top-level structure makes the likely separation clear, but it does not establish thread-safety guarantees, refresh behavior, or error recovery.
README Installation Steps and First Launch Constraints
The README does not provide installation commands, binary download instructions, container instructions, or a first-launch configuration example. It links to the documentation hosted at `https://bluetuith-org.github.io/bluetuith/` and warns that the wiki is out of date. It also displays Repology packaging badges, but the badge itself does not identify a universal package name or prove that a package is available for a particular distribution.
The repository contains a conventional Go module named `github.com/bluetuith-org/bluetuith`, with `main.go` and a `cmd/` directory. Those files establish a Go project structure, but they do not amount to a supported installation tutorial. The documented Go version is `1.25.0` in `go.mod`, and the latest listed release is `v0.2.7`, published on 2026-07-01. Neither fact supplies a complete build recipe or operating-system prerequisites.
A useful first-use tutorial cannot be written from the README without inventing steps. The correct starting point is the current project documentation linked from the README, where operating requirements are said to be listed. Before attempting a first real interaction, a user needs to confirm that Bluetooth service access is available, that the selected platform exposes the required feature in `bluetooth-classic`, and that an adapter is present.
The first screen should then be evaluated against the README's stated interface elements: an adapter selector, adapter status indicators, and device interaction menus. Pairing or file transfer should not be the first acceptance check because those flows introduce authentication and may not be supported uniformly across platforms. No documented key binding, command, or startup flag appears in the README, so assigning one would be misleading.
Cross-Platform Scope Does Not Mean Uniform Bluetooth Support
The strongest technical limitation is not the terminal interface itself, but the gap between a shared product description and the underlying platform capabilities. Bluetooth stacks, permissions, services, and available operations differ among Linux, macOS, and Windows. The README responds to this by sending users to the `bluetooth-classic` feature matrix rather than claiming that every listed bluetuith feature works everywhere.
That limitation affects practical workflows. A user may find pairing, file transfer, or media interaction on one platform but not another. The UI feature list includes authentication views for pairing and file transfers, yet it does not say which pairing methods are implemented, which profiles are accepted, or whether every transfer direction is available. It also does not document recovery after an authentication failure, interrupted transfer, adapter removal, or Bluetooth service restart.
The media player entry creates another expectation boundary. The README confirms that a media player is part of the interface, but it does not enumerate supported codecs, profiles, control keys, or compatibility behavior. Its presence alone is not enough to conclude that it replaces a full desktop media-control application.
This makes platform verification the central adoption check. The separate feature matrix is more useful than the top-level README for determining whether bluetuith meets a specific requirement. A buyer or evaluator should map required operations, such as connecting a keyboard, sending a file, or controlling audio, against that matrix before adopting the application. Treating the project topics as a complete compatibility list would be an unsupported conclusion.
bluetuith Offers a Terminal-First Alternative to Blueman
The README names Blueman as a Bluetooth manager that bluetuith aims to replace. The concrete difference documented here is the interaction model: bluetuith is explicitly a TUI-based connection manager, and its repository uses terminal interface libraries rather than presenting a desktop-oriented interface. The README does not provide a feature-by-feature comparison with Blueman, so claims about speed, hardware coverage, accessibility, or reliability relative to Blueman would not be supportable.
A platform Bluetooth settings application is another practical alternative, but the README does not describe its controls or automation model. The meaningful comparison is therefore limited to workflow preference. Users who already live in a terminal and want adapter, device, authentication, transfer, and media functions in one keyboard-oriented application have a clear reason to examine bluetuith. Users who need a familiar desktop integration have no documented evidence here that moving to bluetuith improves their setup.
This limitation should influence migration planning. The README does not document import of an existing pairing database, migration from Blueman, rollback instructions, or a command for configuration backup. It also does not state whether bluetuith changes system-level pairing records or maintains its own application state. Those are significant differences to investigate before replacing an established manager.
The project remains relevant as a focused alternative because its feature scope is broader than a simple scanner. However, the README's statement that bluetuith aims to replace most managers describes an objective, not a completed parity matrix. That wording leaves room for gaps, especially where operating-system APIs differ.
Recent Release Activity, Manual Upgrades, and MIT Licensing
The repository is not archived, and the last push was on 2026-07-01. The listed release history includes `v0.2.7` on 2026-07-01, `v0.2.6` on 2025-12-04, and the prerelease `v0.2.5-rc1` on 2025-08-22. These dates show recent project activity, but maintenance status should not be confused with API stability. The README still labels bluetuith as alpha.
Upgrade cost cannot be quantified from the README because no migration guide, configuration compatibility policy, release notes, or upgrade command is included. The repository does contain a `.goreleaser.yml`, which indicates release configuration is part of the project, but the file contents are not shown. It would therefore be speculative to describe supported upgrade paths or binary formats.
The Go module also shows a comparatively young Bluetooth dependency at version `v0.0.8`. Its pre-1.0 version number does not prove instability, and no technical conclusion should be drawn from that identifier alone. What can be said is that platform behavior is delegated to this dependency, making its documented feature matrix essential when planning an upgrade.
bluetuith uses the MIT license. This permits broad use, modification, distribution, and sublicensing under the license's stated conditions, but the README does not summarize those terms. Projects redistributing a modified binary should inspect the repository `LICENSE` file and preserve all required notices. This is a compliance check, not legal advice.
Editorial conclusion
bluetuith is appropriate for users who want Bluetooth management inside a terminal and can tolerate alpha software with platform-dependent capabilities. It is a poor fit for users who require documented production readiness or a fixed feature set across every operating system. Check the linked platform requirements and feature matrix first, then confirm that pairing and the required device operations are available for your system and Bluetooth stack.
Frequently asked questions
What operating systems does bluetuith support?
bluetuith is described as a cross-platform Bluetooth manager, with Linux, macOS, and Windows listed as project topics. Available features vary by platform, and the README directs users to the `bluetooth-classic` feature matrix and operating requirements.
Does bluetuith support file transfer and media controls?
The README lists file-transfer progress, authentication views for pairing and file transfers, device interaction menus, and a media player. It does not document detailed protocol, codec, or per-platform support, so the feature matrix should be checked first.
How do I install bluetuith?
The README does not include installation commands or binary download instructions. It links to the documentation at `https://bluetuith-org.github.io/bluetuith/` and notes that the wiki is out of date.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/bluetuith-org-bluetuith)Star history chart for your README
[](https://hysenlabs.com/projects/bluetuith-org-bluetuith)Was this useful?