Why does a terminal command launch another BetterDisplay instance?
Check that the command includes a recognized operation such as help, get, set or perform, without leading hyphens. When you invoke the app executable with arguments but no recognized operation, it can continue with a normal app launch instead of processing an integration command.
For help, use:
/Applications/BetterDisplay.app/Contents/MacOS/BetterDisplay help
To request reconnection of displays, the operation is perform and the action is a parameter:
/Applications/BetterDisplay.app/Contents/MacOS/BetterDisplay perform -connectAllDisplays
An action name by itself is not a complete command. Likewise, --help is not a substitute for the help operation when calling the app executable. Connection actions still require Pro and a configuration that allows the requested operation. The display and its connection must support reconnection.
You can also use the betterdisplaycli helper, with the same operation-and-parameter structure:
betterdisplaycli help
betterdisplaycli perform -connectAllDisplays
See CLI examples for complete requests and the command reference for available operations. Fix the invocation before retrying it repeatedly if each attempt adds another menu-bar instance.