Email an idea. Your coding agent gets to work.
You email yourself a task. Codex or Claude Code runs it on your own computer and replies in the same Gmail thread.
- Free
Your own Gmail
Codex
Claude Code
macOS
Linux
A sample Sent folder. Pick a task to read its thread.
Ideas show up when you’re away from your desk.
You remember a bug on a walk. You think of a change while you wait for coffee. You can send it to your agent right then, from your phone.
- 1Send the task from your own Gmail to your own address with +agents added.
- 2The subject line names the agent. The body describes the task.
- 3Queued and Started arrive as replies in the same thread.
Queued: codex / main / agent default
Started. Your agent is working on this task.
One email starts a task. Replies keep it going.
You set up a small runner on your computer once. You need no phone app, SSH, tunnel, hosted mail service or agent plugin.
09:41:02 INFO Intake armed for new messages; historical Sent mail skipped 09:52:17 INFO Accepted task 3f9c2a7e 09:52:18 INFO Running task 3f9c2a7e turn 1
I relabelled the signup fields and added inline error messages.
Task 3f9c2a7e. Reply in this thread to continue, or reply status / stop. Continue in Terminal: atgent open 3f9c2a7eReply in the thread to continue the task.
Queued, Started and the result stay in the same email thread. Reply to continue, or open the same session at your desk.
I relabelled the signup fields and added inline error messages.
Task 3f9c2a7e. Reply in this thread to continue, or reply status / stop. Continue in Terminal: atgent open 3f9c2a7eAlso add a test for the empty email case.
Started. Your agent is working on this task.
Turn 1: completed Turn 2: running
The reply lists each turn of the task and its state.
Stop requested. Queued turns cancelled; any running process is being stopped. Existing file changes are retained.
The running agent stops. Files it already changed stay changed.
The subject line picks the agent, the project and the model.
You send every task to your +agents address. Write the task in the email body. Plain text, HTML email and attachments are supported.
Codex: improve the signup formCodex/website: fix the footer linksClaude [opus]: review the auth flowClaude [opus, terminal]: review the auth flowAgent names ignore case. Project names are case sensitive. Without a model in brackets, the agent’s default model from your config is used.
Pick up the same session in your terminal.
atgent list shows your email tasks. Enter resumes the selected session in your terminal.
The same session, now answering in this terminalatgent list atgent sessions up/down move Enter open / filter q quit AGENT MODEL STATUS UPDATED SUBJECT Claude opus running 2m ago review the auth flow > Codex default completed 14m ago improve the signup form Claude default needs_review 1h ago fix the build 3f9c2a7e last reply Completed. I relabelled the signup fields and added inline error messages. >_ OpenAI Codex Resuming session…

Only you can send it tasks.
Mail from other people lands in your Inbox. The runner does not read your Inbox, so their mail cannot start a task.
Where the code runs
It runs on your computer, in the project folders you list in the config. Your repositories and agent sign-ins stay on your computer. Task text and results travel through Gmail and your agent provider.
What to protect
Anyone who can add mail to your Sent folder can also send tasks. Protect your Gmail account and its credentials.
You set it up once on the computer that runs the agent.
Install uv first. Then install Codex or Claude Code and sign in.
- 1Installuv installs the atgent command.uv tool install atgent
- 2Create the configGuided setup asks for your Gmail address, your project folders and which installed agents to use. It writes no secret to the config.atgent init
- 3Give it Gmail accessTurn on IMAP and create a Google app password. Keep it in your OS keychain or password manager.
- 4CheckDoctor checks Gmail over IMAP and SMTP without sending mail, plus the installed agents.atgent doctor
- 5Enable automatic startupThe login service starts the runner after you sign in.atgent install-service
uv tool install atgent atgent init Gmail or Google Workspace address: youremail@gmail.com Project alias (e.g. main): website Folder for website [/Users/you]: ~/code/website Use Claude Code (/opt/homebrew/bin/claude)? [Y/n]: y Wrote ~/.config/agent-mailbox/config.json. atgent doctor Gmail authenticated; trusted Sent folder available atgent install-service
What it needs and what this release supports.
The macOS login service, attachments and approval replies were tested live. Linux and Gmail OAuth are unit-tested only.
You need
- A Gmail account with IMAP access and an app password or your own OAuth client ID.
- macOS or Linux, Python 3.11 or later, and uv.
- Codex or Claude Code, installed and signed in.
- A computer that stays awake and online.
In this release
- Up to 32 workers can run tasks at once. Turns in one thread run one at a time.
- Replies are formatted email with a plain text copy.
- atgent list resumes an email task’s session in your terminal.
- Approval emails are optional for Codex and Claude Code.
Send your first task.
Install the runner, run doctor, then email a task to your +agents address.