CodexPigeon uses a mailbox instead of interrupting a running coding agent
I built CodexPigeon around a simple concern: changing an AI coding agent’s instructions while it is already in the middle of a turn can make the agent’s state harder to reason about.
Instead of injecting a message into active work, CodexPigeon uses a repository-local Markdown mailbox.
The ownership model is intentionally strict:
• the human writes INBOX.md
• the agent writes OUTBOX.md
• the agent records acknowledgements in RECEIPTS.md
New guidance is picked up at a safe checkpoint rather than being pushed into a running turn.
The project assumes one thread per worktree and one mailbox per worktree. It also keeps Codex App Server access limited to discovery and status; it does not use turn steering, message injection, or interruption calls.
The interesting part was not the Electron interface. It was designing a coordination model that stays observable with normal files, Git, and editor tools.
Open source: https://github.com/ademisler/cod...
For people building agent workflows: would you trust a file-based mailbox more than live message injection, or would you prefer a structured event log?
Replies