Before you install

Companion / macOS Apple Silicon

OpenMake Companion 0.2.1

A menu bar app for the one thing a desktop is genuinely needed for: letting an agent task work inside a folder on your own machine, behind a confirmation it cannot bypass. Chat and everything deeper stays in the browser. The Companion connects to an OpenMake service — it does not bundle the server, the database, or the GPU backend.

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.

shell
xattr -dr com.apple.quarantine '/Applications/OpenMake Companion.app'
NextWhat it does, and what it deliberately does not

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
NextConnect a local folder

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
NextAuthentication and backend

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.

NextVerified updates

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.

NextAlready running Desktop 1.10.0?

Already running Desktop 1.10.0?

The Electron desktop app was frozen and then removed from the source tree once its bridge moved into that shared core. Nothing breaks for an existing install: the update manifest still carries its channel and the last build stays downloadable. Only new publishing has stopped, and local agent work belongs to the Companion from here.

The one thing the Companion does not replace is the in-app chat window, because that is the browser's job now. If you want that window, the last Electron build is still served.

The Electron app opened the workspace in a native window. Desktop 1.10.0 is the final build of that line; the Companion replaces its local-work half and leaves the chat half to the browser.