Code Lab
OpenMausBot Explained: Personal AI Agents Beyond the Coding Window
CODE LAB · PROJECT SPOTLIGHT
OpenMausBot TypeScript · Apache-2.0 core
A chat-style app for agents, computer access, and connected tools.
Preview: GitHub · milind-soni/OpenMausBot
OpenMausBot puts a roster of AI agents inside a chat-style desktop app. Instead of choosing one assistant for every task, you can give bots different roles, select their engines, and connect them to tools or a computer. The interface is approachable, but the important engineering questions sit underneath it: where does the agent run, what can it access, and which actions still reach you for approval?
This Code Lab introduction reviews the repository, published screenshots, and release notes as of November 8, 2026. It is a source review, not an installation benchmark or a completed computer-use test.
What OpenMausBot does
The README describes independently configured bots with their own conversations, model choices, and tools. A local harness starts the agent processes, while the familiar sidebar-and-chat layout gives those processes a common interface. Existing provider credentials and subscriptions remain relevant; installing the app does not include free model access.
| Part | What it contributes |
|---|---|
| Bot roster | Separate roles and conversations rather than one universal thread. |
| Agent engine | The underlying provider that performs the work. |
| Computer target | The environment the bot can operate: a supported local, virtual, or cloud setup. |
| Connected apps | External tools with their own authentication, access, and costs. |
The published interface

The visual idea is closer to a messaging app than an IDE: choose a bot, inspect its conversation, and keep its role visible. The names, models, and completed work shown in a promotional screenshot describe that captured session; they are not evidence that every listed engine or task works in every installation.
Local-first does not mean every operation stays local
The README places the local harness on a loopback address and stores local transcripts and configuration under ~/.openmausbot. It also describes cloud computers and app connections. Those are different data paths. Model requests, connected services, and a hosted desktop can still involve external systems. Check the selected engine and computer target before attaching real work.

Read the approval setting before the first real task
The approval guide distinguishes asking, accepting edits, provider-assisted review, full access, and custom configuration. Crucially, the inspected source defaults ordinary new bots and conversations to Full access; hosted company workspaces use a different default. A screenshot of a question card therefore does not mean every action always needs a click. Provider mappings and the bot’s sending settings determine how prompts and connected-app actions are handled.
For an initial evaluation, select an approval level deliberately, use a disposable folder, and connect only the tools needed for that test. This is a suggested evaluation method, not a test result from this article.
Inside the source: recognizing an emergency downgrade
This actual TypeScript excerpt comes from shared/approval-mode.ts at commit b63bceb. It checks whether a change from an elevated mode to asking should be classified as an emergency downgrade.
The predicate is true only when the next mode is ask and the current mode is full or custom. Other transitions return false. This small helper identifies a transition; it does not itself stop a running engine, revoke credentials, or validate every tool action. Understanding that boundary is the useful code-reading lesson: a policy check and its runtime enforcement are separate pieces.
Source credit: Copyright 2026 Milind Soni and OpenMausBot contributors. The excerpt reproduces lines 103–108 unchanged; colors and line numbers are presentation only. Core source: Apache License 2.0. See the NOTICE and licensing notes for attribution and exceptions.
What the checked release changes
Release v0.1.149, published November 8, describes fixes for cloud task queues under memory pressure, limits on concurrent Starter tasks, an explicit sharing prompt when pairing with an eligible self-hosted server, and additional engine options. These are maintainer-reported changes, not independently measured reliability results. The release also separates self-hosted sharing rules from team or shared-server access.
The source snapshot used above is newer than the release publication. Record both the installed version and the source commit when investigating a report; do not assume the packaged executable contains every subsequent change on main.
How it connects to T3 Code
The project’s NOTICE credits T3 Code for parts of its Antigravity ACP integration, selected-text citation matching, and browser egress handling. That is a concrete attribution trail to follow. It does not make OpenMausBot a T3 Code release or imply endorsement by the T3 team.
Read T3 Code Explained: One Interface for AI Coding Agents for the workspace-and-provider architecture. Then compare how OpenMausBot adds a personal-agent interface around engines, approvals, and computer targets. The shared question is where execution and permissions actually live.
Installation and licensing checks
Start with the official releases or the project’s download page. Choose the package for your operating system, configure a supported engine, and verify the current computer-use requirements. Cloud capacity, model access, and third-party connectors may have separate charges or requirements; a source license does not include those services.
The open-source core uses Apache 2.0, while enterprise/ has a separate source-available license. The licensing document distinguishes evaluation from production use of those enterprise features and explains trademark restrictions. Check the relevant folder and dependency notices before redistributing a build.
Checked November 8, 2026. Primary sources: the pinned README, approval guide, source file, NOTICE, licensing document, and v0.1.149 release linked above. Images are credited to the project and remain subject to the applicable rights and trademark notices.
