Before you install
The build targets macOS 14 or later on Apple Silicon and is unsigned (ad-hoc), so Gatekeeper quarantines it on first launch and reports it as damaged. It is not damaged; macOS is saying it does not recognise the signer.
Drag OpenMake Companion.app to /Applications first, then clear the quarantine attribute once. The app deliberately has no Dock icon — once it opens, look for the folder glyph in the menu bar.
xattr -dr com.apple.quarantine '/Applications/OpenMake Companion.app'What it does, and what it deliberately does not
The Companion is an execution node, not a second OpenMake client. It keeps one job — being the machine an agent task can reach — and hands everything else back to the browser. That boundary is the point: a feature the web gains does not have to be built twice.
- Connect and disconnect work folders, and read the live state of each one
- Answer the execution confirmation dialog that a shell command cannot bypass
- Get a notification when a task ends, and click it to land on that task in the web
- No chat interface — “Open in web” hands the conversation back to the browser
Connect a local folder
Pick a folder from the menu bar. Only its name reaches the server, never the full path, and from then on an agent task can request work inside it through the bridge. Several roots can be connected at once — each gets an independent bridge connection under a derived device id, so scope, sandbox, and blanket approval stay separate per folder. One user is capped at three connected devices by default.
- Access is scoped by a fixed RPC allowlist and realpath checks, so symlinks cannot walk out of the folder
- Clearly dangerous commands are denied immediately
- Every remaining shell command requires user confirmation that cannot be bypassed
- sandbox-exec blocks writes outside the connected folder and reads from secret paths
Authentication and backend
The Companion authenticates with an API key carrying the bridge scope, issued from API keys in the web settings. The key is stored in the macOS Keychain and handed to the helper process through its environment rather than its command line, so it does not show up in a process list. The backend picker switches between the hosted service and a local instance on port 52416.
Verified updates
The updater reads the native channel of the server manifest, accepts only HTTPS or loopback origins, and verifies the SHA-256 of the download before it replaces the running application.
Still running Desktop 1.10.0?
The Electron desktop app has been retired, and macOS is now supported through the Companion only. Its build is no longer served, the update manifest points at the Companion, and a local folder can no longer be connected through it — local agent work runs through the Companion or the openmake-code CLI.
An existing install still opens the web workspace in its window, but it no longer receives updates. Use the browser for chat and install the Companion above for local work.
OpenMake