Zero Retention. Simple. Free. Open Source.
Disposable email built for AI agents, QA and automation.
Website · Documentation · Português · Español · Sponsor
Ahrara gives you disposable email addresses with an inbox on your own computer. Receive any email, then read it in the terminal or browser, hand it to your AI agent through MCP, or assert on it from your test suite.
- Zero Retention. The relay streams mail to your computer and keeps no inbox. Received mail stays in your encrypted local inbox until you delete it.
- Built for automation. Plugins for 25 coding agents, an MCP server, a local HTTP API and SDKs for TypeScript, Python, .NET, Java, Go, Rust and k6.
- Receive-only. Ahrara never sends email or relays it to other servers.
- Free and open source under the MIT License.
Use Ahrara as a CLI on your computer, as an SDK inside your tests, as a plugin for your AI agent, or in the browser with nothing to install.
CLI: Shell, PowerShell, npm, Homebrew, Docker or a binary
macOS and Linux:
curl -fsSL https://ahrara.dev/install.sh | shWindows (PowerShell):
iwr https://ahrara.dev/install.ps1 -useb | iexnpm, on any of them:
npm install -g ahraraHomebrew:
brew tap hitmasu/ahrara https://github.com/Hitmasu/Ahrara.git
brew install hitmasu/ahrara/ahraraDocker, on Linux x64 and ARM64. Add any command after the image name; the
ahrara volume keeps your identity and inbox between runs:
docker run --rm -it -v ahrara:/home/nonroot ghcr.io/hitmasu/ahraraEvery method installs one executable for Linux, macOS or Windows on x64 or ARM64;
they are also on GitHub Releases
(manual install). Run ahrara --version
to confirm the installation.
SDKs: TypeScript, Python, .NET, Java, Go, Rust and k6
| Language | Install |
|---|---|
| TypeScript / JavaScript | npm install @ahrara/sdk |
| Python | pip install ahrara |
| .NET | dotnet add package Ahrara |
| Java | Maven dependency io.github.hitmasu:ahrara |
| Go | go get github.com/Hitmasu/Ahrara/src/sdks/go@latest |
| Rust | From source, see the Rust guide |
| k6 | Custom k6 build, see the k6 guide |
AI agents: plugins for Claude Code, Codex, Copilot CLI, Gemini CLI and 21 more
| Agent | Install |
|---|---|
| Claude Code | /plugin marketplace add Hitmasu/Ahrara, then /plugin install ahrara@ahrara |
| Codex | codex plugin marketplace add Hitmasu/Ahrara, then codex plugin add ahrara@ahrara |
| GitHub Copilot CLI | copilot plugin marketplace add Hitmasu/Ahrara, then copilot plugin install ahrara@ahrara |
| Gemini CLI | gemini extensions install https://github.com/Hitmasu/Ahrara |
Plugins need Node.js 20+. Cursor, Windsurf, Cline, OpenCode, Kiro and 16 other agents are supported through plugins, rules or instructions; see the agents guide.
Browser: nothing to install
Open app.ahrara.dev; see the Web interface.
ahrara- Wait for Connected. Your first address is created automatically and shown in the Email row; press C to copy it.
- Send a message to that address, or use it in the app you are testing.
- Select the received message with ↑/↓ and press Enter to read it.
Keep Ahrara running to receive email: mail is not queued while you are offline. Press / for address, Web and MCP commands, and Ctrl+C to stop. The user guide covers every command and setting.
With its plugin, your agent installs and starts Ahrara itself. Through MCP it can create addresses, wait for verification codes, read messages and check email templates. Any other MCP host can run Ahrara over stdio:
{
"mcpServers": {
"ahrara": {
"command": "ahrara",
"args": ["mcp", "--transport", "stdio"]
}
}
}To connect over HTTP instead, see the MCP guide.
Give each test its own inbox. SDKs connect directly to the relay, so no CLI needs to run alongside your tests (install).
import { Ahrara } from '@ahrara/sdk';
const inbox = await Ahrara.createInbox();
try {
// Use inbox.address wherever the app under test sends email.
const match = await inbox.waitForRegexMatch('[0-9]{6}', {
timeoutMs: 30_000,
filter: { subject: 'Verification' },
});
console.log(match.value); // The verification code.
} finally {
await inbox.close();
}The SDKs work with Playwright, Cypress, Robot Framework, Selenium, pytest, xUnit and JUnit. The SDK guide covers filters, links, attachments and keeping an inbox between runs.
The Web interface starts with ahrara. Open the URL in the terminal's Web
row to search and read messages, view HTML, download EML and attachments, and
manage addresses. See the Web guide for passwords and LAN
access.
To use it without installing anything, open app.ahrara.dev: the same interface connects to the relay from your browser and keeps your inbox there. Keep a tab open to receive email; the browser app guide explains how to move an Identity between the browser and the CLI.
%%{init: {"flowchart": {"curve": "basis", "wrappingWidth": 400}}}%%
flowchart LR
Sender(["`📨 **Sender**`"]) -- Email --> Relay["`🛰️ **Ahrara Relay**`"]
Relay -- 🔐 Encrypted --> Ahrara
subgraph Computer["💻 Your computer"]
direction LR
Ahrara["`🦜 **Ahrara**
Terminal · SDK · AI · Web`"] --> Inbox[("`🗄️ **Encrypted inbox**`")]
end
classDef sender fill:#fff4e5,stroke:#f59e0b,stroke-width:2px,color:#7c2d12
classDef relay fill:#e8f1ff,stroke:#2563eb,stroke-width:2px,color:#1e3a8a
classDef ahrara fill:#ffecec,stroke:#e11a1c,stroke-width:2px,color:#7f1d1d
classDef inbox fill:#ecfdf5,stroke:#10b981,stroke-width:2px,color:#064e3b
class Sender sender
class Relay relay
class Ahrara ahrara
class Inbox inbox
style Computer fill:transparent,stroke:#94a3b8,stroke-width:1.5px,stroke-dasharray:6 4
linkStyle default stroke:#64748b,stroke-width:2px
- A sender delivers mail to your Ahrara address.
- The relay streams it to your connected client over an encrypted connection and keeps no copy.
- Your client saves it to the encrypted inbox and confirms; only then does the relay accept the delivery from the sender.
See how delivery works and the server documentation to run your own relay.
- Your Identity is created on your computer. The Recovery Key restores it and unlocks your inbox, so keep it private.
- Mail is encrypted on its way to your client and in your local inbox.
- Ahrara is not end-to-end encrypted: senders, forwarding providers and the relay can read messages.
- Web, MCP and the API listen only on your computer by default, and MCP and the API require a token. The browser app keeps its Identity and inbox in that browser's storage.
- Treat email as untrusted input, especially when an AI agent reads it.
See SECURITY.md for security boundaries and how to report a vulnerability.
Ahrara is free to use. If it saves you time, consider sponsoring the project on GitHub to help keep it online and evolving.
See CONTRIBUTING.md for the development setup, checks and pull requests, and the release guide for publishing a release. Report reproducible bugs through issues.
The relay's integrated Cloudflare Tunnel connector is derived from libcfd by apersomany. Thank you for building a programmable Tunnel client in Rust; Ahrara's connector starts from it under the Apache-2.0 license, as recorded in the server notice.
MIT. Vendored dependencies, derived code, and icons retain their licenses: shared dependencies, server, and icons.
