Each chat contact owns a real local agent process
OpenMausBot turns agent CLIs into contacts inside an Electron messaging app. A bot can use Claude, Codex, or Grok, keep its own thread, switch models, and stream tool activity into the conversation. The local harness listens on 127.0.0.1:8799, owns the child processes, and normalizes their different protocols into one server-sent event stream for the React app. Transcripts and configuration live under ~/.openmausbot.
The design is more than a prettier terminal. Channels separate work by project, bots can have distinct instructions and working folders, and routines can run on a schedule. A permission broker turns shell commands, file edits, and agent questions into chat cards. That visible approval loop is the main reason to choose the app over launching several CLI windows yourself.
Computers and connected apps widen the trust boundary
A bot can work inside an optional Box cloud computer, a local VM, or the host computer on supported platforms. Host control requires explicit opt-in on macOS and Ubuntu Xorg. Ubuntu Wayland stays disabled. The app can also connect to more than 500 services through Composio and use ElevenLabs for spoken replies and calls. Each addition gives an agent more reach.
Credentials remain on the harness side and the UI sees configured flags, according to the README. That is a useful separation, but operators still need to inspect scopes, revoke stale connections, and decide which bots receive which computer mode. Box can cost money after its trial, Composio has its own terms, and ElevenLabs needs a separate key. Local-first does not mean every optional action stays local.
What happened when we ran it
Our sandbox installed commit 0e49422 in 47 seconds, pulling 656 pnpm packages and consuming 1,405 MB. The production build succeeded in 21 seconds. The checkout held 750 files and roughly 117,215 source lines. It is a workspace monorepo with 4 CI workflow files, no Dockerfile, and no root tests directory.
Tests ran for 532 seconds and exited 1. Vitest counted 1,701 tests across 162 files: 1,692 passed, 1 failed, and 8 were skipped. The failure was in a process-lifecycle test at the assertion expect(alive(grandchild)).toBe(false). The supplied log tail does not identify why that grandchild process was still considered alive, so it would be speculation to blame the container, timing, or implementation.
The result is close to green but still failed. Process cleanup matters in an app whose harness launches agent CLIs and may keep routines running. Before leaving OpenMausBot unattended, reproduce that case on the target operating system and confirm that ending a bot turn or quitting the app does not leave child processes behind.
Released installers are separate from the source repository
The README points to v0.1.37 installers in milind-soni/openmausbot-releases for Apple silicon and Intel Macs, Windows x64, and Ubuntu 24.04 x64. The main source repository's latest-release endpoint returned no release. That split is not automatically unsafe, but buyers should understand which repository supplies code and which supplies binaries before downloading.
Windows installation is per user and does not need administrator rights, though the README says its installer is not code-signed and SmartScreen shows an unknown-publisher warning. Mac images are described as signed and notarized. Ubuntu offers a DEB and an AppImage beta, with GNOME as the supported desktop. Source builders need Node 24 or newer, pnpm, one authenticated agent CLI, and platform packaging tools.
Ubuntu upgrades still need a real regression test
Issue 345 records an in-place upgrade from DEB 0.1.7 to 0.1.27 on Ubuntu 24.04 with GNOME/X11. The package archive itself had the intended permissions, but two existing directories retained group-writable 0775 modes. The bundled computer-control driver correctly refused that path, so local control stayed unavailable until those directories were changed to 0755.
The same validation preserved bots and messages, migrated credentials into a 0600 file, rendered the Electron window, and completed a Codex turn. Those successful checks narrow the problem to upgrade behavior rather than a generally broken Ubuntu build. The issue remains open and asks for a CI lane that installs an old DEB, upgrades it, checks ownership and modes, launches the real payload, and verifies cleanup.
Desktop capability varies by platform and session
Mac has the broadest documented support, including host control and on-device dictation. Ubuntu Xorg exposes host control as a beta opt-in. Wayland offers chat, preview, cloud computers, and local VMs but blocks host automation. Calls are currently macOS-only. A team buying one uniform cross-platform workflow will hit these differences quickly.
The companion and webhook features also depend on the desktop remaining reachable. Webhooks use a dedicated local receiver on port 8800 by default and need a relay or tunnel for public delivery. The iOS background issue 469 describes a stale 25-second sleeper that can shorten a later background window. It is a source-level report, not a device reproduction, but it gives mobile users a specific notification edge to test.
Active development does not make 0.1 a settled platform
GitHub showed 1,680 stars and 81 open issues and pull requests when fetched. The source was pushed on August 26, 2026, and current work spans Android proposals, webhook listeners, memory behavior, and approvals. The pace is high, while the README still calls the product early and labels Ubuntu beta. Both facts belong in the decision.
OpenMausBot is worth a controlled desktop trial for someone who already pays for agent CLIs and wants them presented as a team. Keep risky actions behind cards, start without host control, and add one external service at a time. Our 1,692 passing tests show meaningful coverage; the single cleanup failure is exactly the kind of edge that matters when agents own operating-system processes.

