Capture implements the Getting Things Done (GTD) methodology by letting you dump thoughts, tasks, and ideas from your mind into Gmail instantly. Stop letting random thoughts interrupt your focus β capture them in seconds and process them later.
- β‘ Instant capture β Send notes to Gmail in under 2 seconds
- π― Multiple targets β Route messages to different inboxes (home, work, etc.)
- π Secure OAuth2 β Gmail API authentication, no passwords stored
- π» Cross-platform β Works on macOS, Linux, and Windows
- π Alfred workflow β Add notes to markdown files and capture ideas with
ckeyword - β¨οΈ Hotkey ready β AutoHotkey (Windows) and Alfred (macOS) integration included
# Install
uv tool install git+https://github.com/tsilva/capture.git
# Capture a thought
capture home "Buy groceries after work"- Python 3.8+
- uv package manager
- Google Cloud project with Gmail API enabled
| Method | Command |
|---|---|
| From GitHub | uv tool install git+https://github.com/tsilva/capture.git |
| Local clone | git clone https://github.com/tsilva/capture.git && cd capture && uv tool install . |
- Create a project in Google Cloud Console
- Enable the Gmail API
- Go to Credentials β Create Credentials β OAuth 2.0 Client ID
- Select Desktop app as application type
- Download and save as
client_secret.jsonin your config directory
| Platform | Location |
|---|---|
| macOS / Linux / Windows | ~/.capture/ |
client_secret.json β OAuth credentials from Google Cloud Console
targets.json β Email routing configuration:
{
"home": {
"from": "you@gmail.com",
"to": "you@gmail.com"
},
"work": {
"from": "you@gmail.com",
"to": "work@company.com"
}
}capture <target> <message>| Argument | Description |
|---|---|
target |
Key from targets.json (e.g., home, work) |
message |
The thought or note to capture |
# Personal reminder
capture home "Call dentist to schedule appointment"
# Work task
capture work "Review PR #42 before standup"
# Quick idea
capture home "Blog post idea: productivity tips for developers"An Alfred workflow for adding notes to markdown files and quick idea capture.
# Install the workflow and helper scripts
./install.shType c in Alfred to:
- Select a note file to append text to
<notes_dir>/<note-name>.md - Select
gmailto capture a quick idea via Gmail
Configuration is handled by ~/.capture/config.json, which is created interactively during ./install.sh:
{
"notes_dir": "~/Documents/Notes",
"repos_dir": "~/repos"
}notes_dir β Directory where markdown notes are stored (must contain .md files)
repos_dir β Directory containing git repositories (used for note icons)
For the best experience, use aerospace-setup to manage your windows. It includes:
- Automatic workspace organization for Cursor projects
alt+pto switch between projectsalt+sto organize windows by priority- Optional
alt+ckeybinding for instant capture (auto-detected during install)
- Install AutoHotkey
- Copy
autohotkey/capture-home.ahk.exampletocapture-home.ahk - Edit the target if needed and run the script
- Press F1 to capture thoughts instantly
On first use, a browser window opens for Gmail authorization. Grant access to allow capture to send emails on your behalf.
If you see "Missing required configuration files":
- Ensure
client_secret.jsonexists in your config directory - Create
targets.jsonwith at least one target defined - Run
captureagain to authenticate
Built with Python and Gmail API
MIT
