Advanced Command Line documentation

Command-line reference for the jackmoebius CLI: expose apps, manage routing and channel reservations, and script JackMoebius from the terminal.

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,5

The 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.
WarningZoom is not supported

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 && compinit

Most 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.

Back to top