Advanced Command Line documentation
jackmoebius is the command-line control tool. It talks to the jackmoebiusd daemon over a local socket. Most commands require the daemon (hence a running JACK server); version works even when everything is stopped.
Apps are matched by their display name (Safari, Music) or their bundle ID (com.apple.Safari), case-insensitive.
jackmoebius <command> [arguments]Version & lifecycle
| Command | What it does |
|---|---|
jackmoebius version |
Print the version + copyright (works while stopped). Aliases: --version, -v. |
jackmoebius start |
Launch jackmoebiusd (JACK must be up). |
jackmoebius stop |
Stop the daemon cleanly. |
jackmoebius status |
Daemon / device / JACK health, exposed-box counts, master gain. |
$ jackmoebius version
JackMoebius 1.0.0
Copyright © 2026 Éric Bavu. All rights reserved.License & trial
JackMoebius runs as a 14-day trial, then needs a license. These commands work while the daemon is stopped (like version); reading the status needs no network.
| Command | What it does |
|---|---|
jackmoebius license |
Show the trial / license status. Add --json for a machine-readable form. |
jackmoebius license activate <KEY> |
Activate this Mac with your license key (needs an internet connection). |
jackmoebius license refresh |
Re-validate the license online now (e.g. after freeing a slot on another Mac). |
$ jackmoebius license
Trial — 9 day(s) left
$ jackmoebius license activate XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
License activated on this Mac (1/5 machines used).A license is perpetual and, once activated, stays valid offline indefinitely, so you’re never locked out for lack of network. A license covers up to its activation limit of Macs (shown in the status); to move it to another Mac, contact support.
Apps & routing
| Command | What it does |
|---|---|
jackmoebius apps |
List CoreAudio apps seen by the driver (per-app state: exposed, channels, capture-capable, blacklisted). |
jackmoebius add <App> |
Expose an app’s output, and its JACK box appears. |
jackmoebius add --in <App> [N] |
Expose an app’s input card (N channels, default 2), fed from JACK. |
jackmoebius remove <App> |
Hide an app’s output box (the channel reservation is kept). |
jackmoebius remove --in <App> |
Hide an app’s input card (reservation kept). |
jackmoebius list |
Currently exposed boxes, with per-box routing status. |
$ jackmoebius add Music
exposed 'Musique' on channels 2/3
$ jackmoebius add --in Safari
input card 'Safari' on reverse channels 4,5The routing status in list is ok / mismatch / idle / absent. It reports whether the app actually uses the right JackMoebius device (see the IPC protocol).
Reservations
Channel reservations are persistent: an app keeps its channels across restarts, so a saved patchbay restores itself. remove hides a box but keeps the reservation; clear frees it.
| Command | What it does |
|---|---|
jackmoebius assignments |
Show the persistent channel reservations (output). |
jackmoebius clear <App> |
Drop an app’s output reservation (frees its channels). |
jackmoebius clear --in <App> |
Drop an app’s input reservation. |
Volume
Per-app output volume, with a “cadenas” (lock): locked = follows the master JackMoebius Out level; unlocked = its own independent gain.
| Command | What it does |
|---|---|
jackmoebius volume <App> |
Show the app’s {locked, gain}. |
jackmoebius volume <App> lock | unlock |
Lock to master, or take independent control. |
jackmoebius volume <App> <gain> |
Set an independent linear gain (1.0 = unity, 0.0 = mute). |
Master box
The system-mix monitor box (monitor_L/R, auto-wired to system:playback).
| Command | What it does |
|---|---|
jackmoebius master on | off |
Register / unregister the master box in the JACK graph. |
jackmoebius master status |
Show whether it’s on. |
Blacklist
Apps you never want proposed for routing (hidden from add and from the selector). Ships with Audio MIDI Setup, JackMate, and Zoom (see the note below); fully revertable.
| Command | What it does |
|---|---|
jackmoebius blacklist --show |
List the blacklist. |
jackmoebius blacklist --add <App> |
Blacklist an app (refused if it’s currently exposed). |
jackmoebius blacklist --remove <App> |
Un-blacklist. |
jackmoebius blacklist --reset |
Restore the shipped defaults. |
Zoom is blacklisted by default and does not work with JackMoebius. On macOS, Zoom rejects virtual audio devices, even when wrapped in an Aggregate Device, unlike most apps. This is a Zoom limitation (its handling of virtual devices is undocumented), not a JackMoebius bug: every other app we tested (Microsoft Teams, Audacity, OBS, browsers…) works normally.
Shell completion
The installer ships zsh and bash completions (commands, and live app names for add / remove / blacklist).
The zsh completion file is installed on the completion path (/usr/local/share/zsh/site-functions), but zsh only activates completions once your shell has initialized its completion system. If jackmoebiusTab does nothing (typically on a fresh account with no ~/.zshrc), add this line to your ~/.zshrc and open a new terminal:
autoload -Uz compinit && compinitMost setups (Oh My Zsh, a customized ~/.zshrc, …) already do this. It’s the standard step for every tool’s zsh completion. The installer deliberately does not edit your shell configuration.
For bash (a minority on macOS, whose default shell is zsh), the completion is installed in the standard Homebrew directory /usr/local/etc/bash_completion.d. It activates automatically once you have bash-completion installed and sourced (brew install bash-completion, then source it from your ~/.bash_profile). Again, a shell-config step the installer leaves to you.