sveds

An iMessage assistant
that lives on your Mac.

Sveds runs on a spare Mac (or your daily driver), watches your iMessage thread, and replies using your own Claude Max subscription. No cloud middleman. Taps Calendar, Reminders, Notes, Mail, Contacts directly.

install

One command. macOS only.

Installs bun if missing, fetches the latest release, wires the sveds CLI into ~/.local/bin.

bash
curl -fsSL https://sveds.com/install | sh
setup

Three steps after install

Grant Full Disk Access so Sveds can read chat.db, then install + start the launchd job. The bridge auto-restarts at login.

bash
# 1. Grant Full Disk Access to your terminal
#    System Settings → Privacy & Security → Full Disk Access
#    Add your terminal app, then Cmd+Q and reopen.

# 2. Install + start the bridge
sveds daemon install
sveds daemon start

# 3. Watch it round-trip
sveds watch
apple ID

Pick how Sveds appears in iMessage

recommended

Dedicated Apple ID

Sign into Messages.app with a fresh email-only Apple ID on the Mac mini. Sveds shows up on your iPhone as a normal contact card. Your other devices stay clean.

Reuse your Apple ID

Faster to set up, but Sveds's outbound shows in your own self-thread on your iPhone. Fine for testing.

usage

Then text it like any contact

bash
# Text the Mac mini's iMessage handle from your iPhone:
sveds: what's on my calendar today?

The default trigger prefix is sveds: — anything else is ignored. Replies arrive within 5–15 seconds.

how it works

No magic, just a bridge

  • chat.db poll — watches your local iMessage SQLite for new rows.
  • headless claude -p — spawns the Claude Code CLI per inbound, with per-chat session resume.
  • osascript send — replies via Messages.app's AppleScript bridge.
  • launchd supervisor — survives reboots, heartbeats every 5 seconds, watchdog notifies on stalls.