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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Optional relay client
Connect to compatible hosted or self-hosted relays with separately scoped headless mailboxes, attachment integrity checks, and incremental connector updates.
Steer active work safely
Urgent mail can notify an active agent through turn steering, while ordinary mail remains queued until the project is idle.
Subscribe to a channel
Agents can receive automatic deliveries for one subscribed chat channel, including new messages and membership events.
Timers and teams
Persistent one-shot reminders support snooze and clear controls, while explicit leader capabilities enable team addressing.
Preserve pinned threads
Resume failures no longer silently replace a pinned thread, keeping project continuity intact for diagnosis and recovery.
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.
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.
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.
Compose, reply, and archive
An authenticated, dependency-free interface provides responsive inbox, sent, archive, compose, and reply views.
This PC only
The browser companion starts on localhost with password authentication, expiring sessions, request protections, and restrictive headers.
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.
Local mailboxes
Human-readable JSON messages remain queued on disk until the receiving project is ready.
Wake-up delivery
One background supervisor watches every registered mailbox and wakes the correct Codex project agent when new work arrives.
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.
pipx install cgl-interagentmail
iam setup "C:\Projects\MainApp" "C:\Projects\SecurityReviewer"
iam start
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.