Skip to content

Kristoffer88/offload

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

offload

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

How it works

  1. You type natural language (via terminal or Raycast)
  2. claude --model haiku classifies it and returns structured JSON
  3. AppleScript creates the item in the right Apple app
  4. macOS notification with click-to-open

No API key needed — uses Claude Code's built-in auth. ~5s per capture.

Requirements

  • macOS (uses AppleScript + Apple apps)
  • Bun — JavaScript runtime
  • Claude Code — provides the claude CLI
  • terminal-notifier — macOS notifications from the terminal

Install

# 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 link

This 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.

Setup

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).

Usage

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)

Environment variables

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"

Raycast setup (optional)

The Raycast extension lets you type anything into Raycast and offload it directly.

1. Install the extension

cd raycast
npm install
npm run dev

This opens Raycast and registers the extension. You can close the dev server after — the extension stays installed.

2. Configure preferences

Open Raycast Settings → Extensions → Offload and set your calendar name.

3. Set up as a Fallback Command

This lets you type anything into Raycast and offload it when there's no matching command.

  1. Open Raycast
  2. Type something that has no results (e.g. "asdfgh") so the Fallback Commands section appears
  3. Click the settings icon next to "Fallback Commands"
  4. Find Offload in the list and enable it
  5. Drag it to the top if you want it as the first fallback

4. Use it

  1. Open Raycast (e.g. ⌘ Space)
  2. Type your thought: dentist next monday 3pm
  3. Select Offload from the fallback results
  4. Done — notification appears when captured

Notifications

If you use Focus modes, allow notifications from terminal-notifier:

System Settings → Focus → [Your Focus] → Allowed Notifications → Apps → Add terminal-notifier

Logs

Actions are logged as JSON lines to ~/.offload/offload.log.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors