Natural-language quick capture for macOS. Type a thought, Claude Haiku classifies it, AppleScript routes it to the right Apple app.
offload "dentist next monday at 3pm" → Calendar event
offload "fix the kitchen sink" → Reminder (todo)
offload "call mom tomorrow at 6pm" → Reminder (timed)
offload "gift ideas: lego, books" → Note
offload "buy milk eggs bread" → Shopping list
- You type natural language (via terminal or Raycast)
claude --model haikuclassifies it and returns structured JSON- AppleScript creates the item in the right Apple app
- macOS notification with click-to-open
No API key needed — uses Claude Code's built-in auth. ~5s per capture.
- macOS (uses AppleScript + Apple apps)
- Bun — JavaScript runtime
- Claude Code — provides the
claudeCLI - terminal-notifier — macOS notifications from the terminal
# Install prerequisites
brew install terminal-notifier
# Claude Code (if not already installed)
curl -fsSL https://claude.ai/install.sh | bash
# Install offload
git clone https://github.com/Kristoffer88/offload.git
cd offload
bun install
bun linkThis makes the offload command available globally. Verify with which offload.
Make sure claude works by running claude --version. If it's your first time, run claude once to log in.
Create these in Apple apps before first use:
- Apple Notes: A folder called "Offload" (for saved notes)
- Apple Reminders: A list called "Shopping" (only needed for shopping items)
Both names are configurable via environment variables (see below).
offload "dentist next monday at 3pm"
# => Event created: dentist at 3/2/2026 15:00 (4.2s)
offload "fix the kitchen sink"
# => Todo added: fix the kitchen sink (3.8s)
offload "call mom tomorrow at 6pm"
# => Reminder set: call mom at 2/28/2026 18:00 (3.9s)
offload "gift ideas for dad: lego, books, socks"
# => Note saved: gift ideas for dad (4.1s)
offload "buy milk eggs bread"
# => Shopping added: milk, eggs, bread (4.0s)| Variable | Default | Description |
|---|---|---|
OFFLOAD_CALENDAR |
Calendar |
Apple Calendar to create events in |
OFFLOAD_NOTES_FOLDER |
Offload |
Apple Notes folder for saved notes |
OFFLOAD_SHOPPING_LIST |
Shopping |
Apple Reminders list for shopping items |
OFFLOAD_CLAUDE_PATH |
claude |
Path to the claude CLI binary |
Example:
OFFLOAD_CALENDAR="Work" offload "standup tomorrow at 9am"Or export in your shell profile:
export OFFLOAD_CALENDAR="Work"
export OFFLOAD_NOTES_FOLDER="Inbox"The Raycast extension lets you type anything into Raycast and offload it directly.
cd raycast
npm install
npm run devThis opens Raycast and registers the extension. You can close the dev server after — the extension stays installed.
Open Raycast Settings → Extensions → Offload and set your calendar name.
This lets you type anything into Raycast and offload it when there's no matching command.
- Open Raycast
- Type something that has no results (e.g. "asdfgh") so the Fallback Commands section appears
- Click the settings icon next to "Fallback Commands"
- Find Offload in the list and enable it
- Drag it to the top if you want it as the first fallback
- Open Raycast (e.g.
⌘ Space) - Type your thought:
dentist next monday 3pm - Select Offload from the fallback results
- Done — notification appears when captured
If you use Focus modes, allow notifications from terminal-notifier:
System Settings → Focus → [Your Focus] → Allowed Notifications → Apps → Add terminal-notifier
Actions are logged as JSON lines to ~/.offload/offload.log.
MIT