Emailclaw
github.com/emailclaw/emailclaw- Category
- AI Agents
- Rank
- No. 1810Tools index
Previous survey · No. 1744 ·
- Pricing
- Open Source
- Type
- AGENT
- Use case
- Workflow Automation
- Interfaces
- Desktop
- GitHub
- 3 stars
- Latest release
- v26.10.25
- Date
About
Emailclaw is a local-first AI agent that treats email as its primary interface, using the subject line of each email thread to create an isolated project/task boundary with its own sandboxed workspace. It supports scheduled automation, tool/MCP/plugin composition, and high-risk action approval via email confirmation codes.
What it does
A desktop and headless Java program that turns a mailbox into the control surface for an AI assistant. It polls an inbox over IMAP, and every fresh subject line opens a separate task with its own folder, conversation history and reply thread. The first message only registers the task and returns an ID; work starts when you reply in that thread. Results, attachments and requests for permission come back by mail through SMTP. You bring the model: any service reachable with a base URL, key and model name.
Why it's ranked here
The idea is specific and well carried through. Mail threads map one to one onto tasks, risky tool calls pause for a four-digit code you reply with, and silence, a wrong code or a reply from another thread all count as refusal. It ships as installers for Windows, macOS and two Linux formats from a tagged release pipeline, under MIT. Against that, the release build skips tests, the hosted relay carries no service guarantee, and the loosest permission mode is one setting away. A thoughtful design worth trying on a spare mailbox, not yet something to trust with a primary account.
What's good
The approval flow is the strongest part. A pending approval shows the tool, a parameter summary, the risk level and a countdown, and the reply code is intercepted before it reaches the model, so it never pollutes the task context. A failed delivery of the approval message rejects the call rather than letting it through. Sender allowlisting limits who can start work. The same startup code powers the desktop app and a systemd background service, and both share one data folder, so moving to a server needs no config migration. Plugins dropped into a folder are picked up within about five seconds without a restart.
Tradeoffs
Building from source needs JDK 25, and the tagged release job packages with tests skipped even though test libraries are declared. The optional hosted mail relay is offered with no quality guarantee, can change terms without notice, deletes messages after 15 minutes and drops accounts idle for 100 days. Attachments are capped at a single 10 MB file per message. Permission modes run up to a full bypass, and the sample coding plugin accepts arbitrary extra flags, including one that disables its own sandbox. The local API admits unauthenticated calls from the loopback addresses by default.
How to use it well
Give it a dedicated mailbox with an app password, never your main account, and keep the allowed senders list to addresses you control. Start agents in the read-only or routine-confirmation mode, as the manual advises, and test the model connection in the desktop chat before wiring up mail. It suits people who already live in their inbox and want recurring research digests or document tasks kept apart by thread. It is not a team inbox tool, and it does not replace a coding agent: the coding plugins only shell out to external command-line tools.
Technical notes+
Launcher.java routes --service or -s to ServiceApp.java, otherwise to the JavaFX FxApp; both call ApplicationBootstrap.initialize(), a hand-wired composition root that builds SQLite repositories (sessions, token usage, cron history, memory) and every service with constructor injection. ServiceApp.java blocks the main thread and registers a shutdown hook for SIGTERM. emailclaw/pom.xml targets maven.compiler.release 25 and pulls agentscope and agentscope-harness 2.0.3, jakarta.mail 2.0.5, sqlite-jdbc, Playwright 1.61.0 and JavaFX 25; jpackage produces the installers. SecuritySettings.java defaults allowNoAuthHosts to 127.0.0.1 and ::1; ToolGuardSettings.java has the guard enabled by default with guardedTools, deniedTools and shellEvasionChecks. .github/workflows/release.yml runs mvn package -DskipTests on ubuntu, macos and windows runners.
Observed
- License
- MIT (LICENSE)
- Language
- Java, built with Maven, compiler release 25 (emailclaw/pom.xml)
- Agent framework
- AgentScope Java with its harness module (emailclaw/pom.xml)
- Packaging
- Windows .exe, macOS .dmg, Linux .deb and .tar.gz built by jpackage (.github/workflows/release.yml)
- Interfaces
- JavaFX desktop app plus headless service mode via --service flag (emailclaw/src/main/java/ai/emailclaw/emailclaw/Launcher.java)
- Mail transport
- IMAP polling, minimum 5 second interval, SMTP replies (docs/Emailclaw-User-Manual.md)
- Extension surface
- Java SPI and external JAR plugins for tools, providers, hooks, channels and UI (plugin-samples/PLUGIN-DEVELOPER-GUIDE.md)
- Release build
- Packages with -DskipTests (.github/workflows/release.yml)
- Unauthenticated API hosts
- Loopback addresses 127.0.0.1 and ::1 by default (emailclaw/src/main/java/ai/emailclaw/emailclaw/model/SecuritySettings.java)
Read from README.md, LICENSE, emailclaw/pom.xml, docs/Emailclaw-User-Manual.md, plugin-samples/PLUGIN-DEVELOPER-GUIDE.md, emailclaw/src/main/java/ai/emailclaw/emailclaw/Launcher.java, emailclaw/src/main/java/ai/emailclaw/emailclaw/ApplicationBootstrap.java, emailclaw/src/main/java/ai/emailclaw/emailclaw/ServiceApp.java, emailclaw/src/main/java/ai/emailclaw/emailclaw/model/SecuritySettings.java, emailclaw/src/main/java/ai/emailclaw/emailclaw/model/ToolGuardSettings.java, emailclaw/src/main/java/ai/emailclaw/emailclaw/market/MarketProvider.java, plugin-samples/invokeCodexCli/README.md, .github/workflows/release.yml.
What it can do
Create an isolated sandboxed project workspace for each email subject thread
Email subject line → Isolated project workspace
Schedule recurring automated tasks via email
Email instructions → Scheduled automated task
Require email confirmation codes to approve high-risk actions
Confirmation code reply → Approved action execution
Process email messages as commands to an AI agent
Email message → Agent response/action
Tags
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.