Skip to content

Command Line Reference

Rod Christiansen edited this page Oct 8, 2026 · 3 revisions

Command Line Reference

Every flag on every shipped binary, taken from the ArgumentParser declarations.

managedreportsrunner

The collector. Installed at /Applications/Utilities/Managed Reports Runner.app/Contents/MacOS/managedreportsrunner, with a symlink at /usr/local/bin/managedreportsrunner and a forwarding wrapper at /usr/local/reportmate/managedreportsrunner.

It must run as root. Any other uid gets ERROR: You must run this as root! on stderr and a failure exit.

With no flags it runs every module in EnabledModules and transmits.

Flag Type Effect
-v, --verbose repeatable Raise verbosity. See the level table below
--force flag Accepted and echoed in the run header. The installs daemon and the postinstall pass it; the runner always collects the modules it is asked for, so it has no other effect
--collect-only flag Collect and cache, do not transmit
--transmit-only flag Do not collect; re-send the newest cached event.json
--hello flag Send a check-in carrying only the device envelope (serial, device id, client version, platform, plus computer name, model, OS version and architecture under metadata.additional) and a Device checked in event, then exit. No module runs, and the check-in is not cached, so --transmit-only still re-sends the last real collection
--run-module <name> option Run exactly one module
--run-modules <a,b,c> option Run a comma-separated list, in the order given
--device-id <id> option Override DeviceId
--api-url <url> option Override ApiUrl
--storage-mode <mode> option Override StorageMode: quick, deep or auto
--test flag Prints Configuration test completed and exits. It does not currently exercise the API
--info flag Prints System information gathered and exits
--build flag Prints Build completed and exits
--version flag Print the build version
--help flag Usage

--hello wins over both module flags, and --run-module wins over --run-modules when both are given. --test, --info, --build and --transmit-only are checked before any collection, in that order.

Verbosity

Flag Level Console shows File level
none 0 errors INFO
-v 1 errors, warnings INFO
-vv 2 errors, warnings, info; enables per-query progress INFO
-vvv 3 everything, including a dump of the full JSON payload DEBUG

Levels above 3 are clamped to 3. The file always carries INFO and above; only -vvv lowers it to DEBUG. The status lines the client prints as it runs are independent of this and always appear.

Examples

Run one module with progress output.

sudo managedreportsrunner --run-module security -vv

Collect everything without sending it anywhere, then inspect the cache.

sudo managedreportsrunner --collect-only

Make a device appear in the dashboard without waiting for a collection.

sudo managedreportsrunner --hello

Re-send the last payload after an outage.

sudo managedreportsrunner --transmit-only

Point a single machine at a different API without changing its preferences.

sudo managedreportsrunner --api-url "https://reportmate.example.com" --run-modules inventory,system

Force the expensive storage walk.

sudo managedreportsrunner --run-module hardware --storage-mode deep

reportmate-appusage

The application usage watcher, at /usr/local/reportmate/reportmate-appusage. Normally started by com.github.reportmate.appusage; run it by hand only to inspect or debug.

Flag Default Effect
-v, --verbose off Debug logging to file and console
-q, --quiet off Warnings only
--db-path <path> /Library/Managed Reports/appusage.sqlite Database location
--foreground off Accepted but has no effect; the watcher always runs in the foreground
--stats off Print total, active and pending-transmission session counts, then exit
--version Print version
sudo /usr/local/reportmate/reportmate-appusage --stats

It handles SIGTERM and SIGINT by exiting cleanly. SIGHUP is caught and logged; configuration reload is not implemented.

Managing the daemons

Force a scheduled collection now.

sudo launchctl kickstart -k system/com.github.reportmate.hourly

Trigger the installs collection the way the Munki postflight does.

sudo launchctl kickstart -k system/com.github.reportmate.installs

Stop a daemon for the rest of the session.

sudo launchctl bootout system /Library/LaunchDaemons/com.github.reportmate.daily.plist

If you ever use launchctl disable, remember to launchctl enable system/<label> before bootstrapping it again — the disable is recorded in launchd's own override database and outlives the plist file.

Clone this wiki locally