by godwit-email
Open-source, AI-native desktop email client for macOS, Windows and Linux. Your mail stays yours: data is masked locally before any model sees it.
# Add to your Claude Code skills
git clone https://github.com/godwit-email/godwitGuides for using ai agents skills like godwit.
See how godwit compares with popular alternatives.
godwit is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by godwit-email. Open-source, AI-native desktop email client for macOS, Windows and Linux. Your mail stays yours: data is masked locally before any model sees it. It has 104 GitHub stars.
godwit's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/godwit-email/godwit" and add it to your Claude Code skills directory (see the Installation section above).
godwit is primarily written in Go. It is open-source under godwit-email on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh godwit against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
https://github.com/user-attachments/assets/29ee980c-73a5-47f0-a736-b01828c22785
Godwit is a desktop email client for macOS, Windows and Linux. It works with any IMAP/SMTP account and ships with an AI assistant, Wit, that reads, summarizes, translates and drafts mail with the model you choose. Before anything goes to a cloud model, names, account numbers, phone numbers and keys are masked on your machine. Everything AI in it, the built-in features included, runs through the same extension points open to you: drop in a SKILL.md and a button appears.
The name comes from the bar-tailed godwit, which holds the record for the longest non-stop bird flight.
.eml files can be imported into a local archive.SKILL.md (Agent Skills) in the data directory's skills/ folder becomes a Wit skill, or an action button with godwit-action-* metadata.sdk/godwit.d.ts, published as @godwit/sdk (npm i -D @godwit/sdk). Plugins can read mail and write drafts; none can send.sdk/native/godwit_plugin.h), for what a sandbox cannot do. It runs with all of Godwit's rights, so Godwit shows the risk and asks you to allow that exact file; a changed file needs your permission again.godwit mcp is an MCP server that lets Claude, Claude Code, Codex, Cursor and any other MCP app read your mail and create drafts. Sending through MCP is your setting: by default each send waits for you to confirm it, and you can turn it off or let it send directly. Turn on the Local API under Settings › Intelligence › AI apps and copy the client configuration from there.Download the latest build from godwit.email:
macOS: the .dmg, or with Homebrew:
brew install godwit-email/tap/godwit
Windows: the installer, which installs for the current user without admin rights, or Godwit on the Microsoft Store, which the Store updates.
Linux: the .deb, or install for the current user (no root) with:
curl -fsSL https://dl.godwit.email/install.sh | sh
Every release is built from its tag by release.yml, which signs build provenance for each file it uploads. Check that a download was built here, and from which commit, with the GitHub CLI:
gh attestation verify godwit-1.30.0-arm64.dmg --repo godwit-email/godwit
For the Microsoft Store version, verify Godwit.exe in its install folder (Get-AppxPackage BaranWang.Godwit shows where). The app also records its commit: go version -m on the executable prints it as vcs.revision.
godwit [--data-dir DIR] the desktop app
godwit --headless [--data-dir DIR] serve the Local API without a window
godwit call [--data-dir DIR] METHOD [JSON_ARGS_ARRAY] call the running Godwit once
godwit mcp [--data-dir DIR] an MCP server on stdio for agents
godwit dev-sync-db replace the dev database from production (development builds only)
godwit --version
Godwit is written in Go on MyGo: the main window is native UI, while compose, the Wit page and the message reader are React pages in web/. mise installs the pinned Go and Bun:
mise install
mise run generate # install web dependencies and generate Go/TypeScript code before Go tests
mise run dev # run the app, reloading on changes
mise run dev:sync-db # replace the dev database from production; stop both apps first
go test ./... # Go tests
mise run web:check
mise run build # package for this machine into dist/
Native and web UI translations share internal/i18n/en.json and zh-Hans.json, using ICU MessageFormat. Edit these catalogs, run mise run generate to update the Go and TypeScript accessors, and validate with go tool mygo i18n check. MyGo's generated Go/TypeScript accessors and client are ignored by Git; do not edit them directly. Development, packaging and mise run web:check / web:test generate them automatically; run mise run generate before using Go commands directly.
Development builds (mygo dev and go run) use a separate Godwit-dev data
directory beside production's Godwit directory (on Windows, ~/.godwit-dev
beside ~/.godwit). GUI, headless, call and mcp all use the matching default;
an explicit --data-dir still takes precedence. Release builds keep their existing
directory. MYGO_ENV=production selects production defaults for an unpackaged binary.
To start dev with production mail and settings, quit both instances and run
mise run dev:sync-db, then mise run dev. This overwrites the dev database.
It copies committed WAL data, validates and migrates only the copy, and leaves
the production database untouched. It refuses to run while either directory is
owned by a running instance. A database already upgraded by an older dev run is
not downgraded by this command.
The sync copies only the database. Dev gets a fresh keychain identity, so enter account credentials and model/plugin/MCP secrets again in dev. Cached attachments are downloaded again; draft attachments and outbox files are not copied, and their file references are cleared to avoid using production or stale dev files. Re-add draft attachments before sending from dev. Skills and plugin files are not copied. After you sign in, dev can sync and change the same remote mailbox.
Layout:
| Path | |
|---|---|
core/ |
the mail engine and service: sync, storage, send, AI, plugins, skills |
app/ |
the native UI |
web/, webui/ |
the web pages and their Go side |
cmd/godwit/ |
the executable: GUI, headless, call, mcp |
mcpserver/, rpc/ |
the MCP server and the Local API |
sdk/ |
plugin types |
docs/ |
design specs and plans |
site/ |
godwit.email, a Cloudflare Worker (mise run site:dev) |
The homepage's demo window and main download button share browser-platform detection. macOS shows traffic lights; Windows shows the app caption and right-hand window controls; Linux also uses right-hand controls. The window controls are decorative, not actions that close or resize the website.
Client CI always runs a lightweight change