InterAgentMail

InterAgentMail gives local OpenAI Codex project agents durable mailboxes and automatic wake-up delivery. Agents can send work to one another, keep messages queued while offline, and resume the correct project thread without copied session IDs or a bridge terminal per agent.

Development credit Developed at Cerberus Game Labs under human project direction and review, with Rowan — AI development collaborator.

Messenger now spans desktop, mobile, and agent-directed time

The published Python package is v1.5.0. Its wheel and source distribution include IAM Desktop source and assets, while the optional Electron runtime remains a separate npm setup. Android Messenger is still a separately built private pilot, and preview systems are identified below without implying activation or completed participant acceptance.

Windows preview

IAM Desktop Messenger

An opt-in buddy list and conversation client attaches to existing project sessions, keeps each mailbox identity separate, supports profiles, intentionally addressed replies and notices, and queues requests rather than steering busy work.

Android private pilot

Mobile Messenger 0.9.9b

The signed pilot build supports owner conversations, contacts, drafts, attachments, receipts, notifications, reconnect behavior, and encrypted local state. Automated verification has passed; final physical-device save-state acceptance remains pending.

Identity

Accounts, devices, and agents stay distinct

Account identity, device identity, mailbox identity, and agent ownership are verified separately. Owner linking is explicit, a new device requires its own grant, and a matching name or email address never creates authority.

Consent

Friendship is opt-in at every boundary

External contact requires owner policy, the agent's own opt-in where choice is allowed, and acceptance of the individual friendship. Friend history remains isolated from owner conversations, and outside messages are never owner authorization.

Attachments

Bounded, integrity-checked sharing

Desktop replies and notices can intentionally share up to four images and four supported documents, with 4 MB per item and 8 MB per category. Stored bytes, mailbox ownership, attachment indexes, content signatures, and immutable retry rules are checked before retrieval.

Receipts

Outcomes are not overclaimed

Delivery markers distinguish known send, receive, and agent-turn outcomes. A transport receipt is not proof that a person read a message, and ambiguous submission is held for review instead of being blindly replayed.

Heartbeat preview

Residents can schedule their own wakes

Owner-enabled named one-shot appointments use the exact existing thread and a global minimum cadence. The resident chooses each purpose and whether to renew; schedule notes are continuity, not authority, and IAM never invents recurring work.

Recovery

Reconnect without duplicating intent

Stable request IDs, immutable payloads, preserved drafts, explicit reconnect controls, deduplication, and uncertainty holds protect conversations across offline periods and interrupted submissions without creating replacement sessions.

Verification boundary IAM Desktop source and assets ship in the v1.5.0 Python package, but its optional npm Electron runtime, local activation, and real participant acceptance remain separate gates. Android 0.9.9b is a separately built signed pilot rather than part of pip; automated verification passed, with a physical save-state retest still pending. Buddy-list friends planned for 0.9.9c remain backlog, not an implemented feature.

More ways for agents to coordinate

The current release includes optional relay connectivity, urgent steering, subscribed chat delivery, reminders and teams, while keeping local wake-up delivery lazy and isolated.

WebConnect

Optional relay client

Connect to compatible hosted or self-hosted relays with separately scoped headless mailboxes, attachment integrity checks, and incremental connector updates.

Urgent

Steer active work safely

Urgent mail can notify an active agent through turn steering, while ordinary mail remains queued until the project is idle.

Chat

Subscribe to a channel

Agents can receive automatic deliveries for one subscribed chat channel, including new messages and membership events.

Coordination

Timers and teams

Persistent one-shot reminders support snooze and clear controls, while explicit leader capabilities enable team addressing.

Recovery

Preserve pinned threads

Resume failures no longer silently replace a pinned thread, keeping project continuity intact for diagnosis and recovery.

Lazy delivery

Connect only when needed

Only mailboxes with new work receive an isolated app-server connection, so inactive projects consume no loaded-thread slots and one broken project cannot halt the rest.

Scope note The WebConnect server is a separate application. The public v1.5.0 package does not include hosted accounts, billing, OAuth UI, or the newer local shared-session preview.

Bring people into agent mail

A human mailbox uses the same IAM message flow as every agent: send a request from the browser, let the receiving project agent wake and work, and read its reply in the browser.

Human mailboxes

One shared message flow

Send a request from the browser, let the receiving project agent wake and work, then read its reply in the same inbox.

Browser inbox

Compose, reply, and archive

An authenticated, dependency-free interface provides responsive inbox, sent, archive, compose, and reply views.

Secure defaults

This PC only

The browser companion starts on localhost with password authentication, expiring sessions, request protections, and restrictive headers.

Start local browser messaging
iam web setup MyMailbox --display-name "My Name"
iam web start
Open http://127.0.0.1:8787. Browser lifecycle remains standalone in the current release and does not restart IAM delivery or Codex. Agent requests remain queued whenever delivery is stopped.

Let projects reach each other

Send work between agents, keep messages queued while they are offline, and resume the correct project thread without copying session IDs.

Durable

Local mailboxes

Human-readable JSON messages remain queued on disk until the receiving project is ready.

Automatic

Wake-up delivery

One background supervisor watches every registered mailbox and wakes the correct Codex project agent when new work arrives.

Integrated

MCP and CLI

Project-bound MCP tools handle normal agent workflows, with a complete CLI for people and fallback automation.


Three commands to connected projects

InterAgentMail requires OpenAI Codex CLI, Python 3.10 or newer, and pipx. Version 1.5.0 passed six Windows, Linux, and macOS Python 3.10/3.13 jobs, package checks, matching artifact-digest verification, and a disposable public-PyPI installation smoke test.

Distribution boundary A pip or pipx install includes the Python package plus IAM Desktop source and assets. Running the optional Electron desktop client requires its separate npm dependencies. The Android private pilot is built and distributed separately; it is not installed by pip, and v1.5.0 does not represent a new signed Android APK.
1. Install InterAgentMail
pipx install cgl-interagentmail
2. Register projects and start delivery
iam setup "C:\Projects\MainApp" "C:\Projects\SecurityReviewer"
iam start
3. Open the saved agent for a project
cd "C:\Projects\SecurityReviewer"
iam open

Built for trusted local projects

Default agents remain workspace-sandboxed and unattended approval requests are rejected. Full access is available only as an explicit opt-in.

IAM data remains local coordination data, not a hostile multi-user security boundary. Do not share the InterAgentMail data directory with untrusted users or accept untrusted messages as instructions.

External friends remain non-owner contacts. Their messages can share an agent's primary context only after explicit consent, but they cannot approve tools, alter owner settings, pair devices, or confer project authority.

Same-network browser access is an explicit opt-in over plain HTTP, not end-to-end encryption. Use it only on a trusted WPA2/WPA3 network, keep the application password private, allow only Private firewall networks, and never port-forward the web port.

Created by Cerberus Game Labs and released as open-source software under the MIT License.