Productivity & Collaboration macosswift-clireminderseventkitcalendarcontactsnotesmailimessagetmux

Apple Bridges: Native Apple App Access for Claude Code

Swift CLI bridges that give Claude Code direct read/write access to macOS Reminders, Calendar, Contacts, Notes, Mail, Messages, and tmux sessions.

FollowSkills review · FSRS-2.0
Use with care
53/ 100 5-point scale 2.7 / 5
1 2 3 4 5 6
1Trust13 / 25 · 2.6/5

Credit: deletes are dry-run by default, mail send opens a compose window for human review, and a permissions table clearly maps each bridge to its TCC grants. Deductions: docs recommend whitelisting all bridges in global settings for confirmation-free execution; messages-bridge send has no confirmation at all (explicitly 'deliberately not in the tool', shifting responsibility to user config); reading the iMessage database requires the very broad Full Disk Access grant; and tmux-bridge write can inject arbitrary keystrokes (including sudo) into any pane. Trust = 13.

2Reliability9 / 20 · 2.3/5

Documentation is largely self-consistent with parameter tables, output examples, and a good troubleshooting table (-1712 timeout, FDA requiring terminal restart). Deduction: README claims '35 tests cover all commands across all three bridges' while the repo ships seven bridges, and the test suite itself is not present in the provided files, so key-path reproducibility cannot be statically confirmed. Reliability = 9.

3Adaptability10 / 15 · 3.3/5

Clear scenario (macOS users managing native Apple apps via Claude Code), description matches capability, dependencies (tmux, macOS 13+) and permission prerequisites are stated. Deductions: the trigger description uses overly broad terms ('tasks, todos, scheduling, birthdays') risking false invocation; non-fit boundaries (non-macOS, account conflicts) undeclared. No deduction for overseas-service unreachability since everything runs locally. Adaptability = 10.

4Convention11 / 15 · 3.7/5

Good information architecture: SKILL.md overview plus on-demand detail files is proper progressive disclosure; MIT license and named author; install/compile/permission/verification steps are complete. Deductions: no version numbers or changelog; maintenance responsibility and update path only implicit; command lists drift between README and the skill detail files (rename-list, delete-list, --mid, --raw absent from detail docs). Convention = 11.

5Effectiveness6 / 15 · 2.0/5

Clear value proposition for the target user (Claude Code + macOS): natural-language control of Apple apps, plausibly better than manual alternatives; examples are rich and directly usable. Deduction: static review cannot verify output usability, and the value narrative relies on unverifiable 'real-world examples'. Effectiveness = 6.

6Verifiability4 / 10 · 2.0/5

Rich detail including auditable primary material (troubleshooting table, technical facts like attributedBody typedstream decoding and nanosecond timestamps) suggesting genuine hands-on use. Deductions: no third-party execution evidence, no visible CI/test artifacts in provided files, and the README's own test claim is internally inconsistent ('three bridges' vs seven). Claims like '35 tests' and '~1s per account' cannot be independently verified. Verifiability = 4.

Evidence confidence:Low Reviewed Sep 10, 2026 Reviewed revision 58080cbb4028
Before you use it
  • messages-bridge send delivers immediately with no confirmation; add your own rule in Claude Code instructions if you want a review step.
  • The docs recommend whitelisting all bridges globally without confirmation prompts, which significantly enlarges the blast radius; consider allowing only read-only commands.
  • messages-bridge reading requires granting Full Disk Access to your terminal — a very broad permission; evaluate before granting.
  • The README's test claim is internally inconsistent ('three bridges' vs. seven shipped bridges), so test coverage cannot be verified; run make test yourself.
  • The skill's trigger description is overly broad (generic words like tasks, scheduling, birthdays) and may be invoked in unrelated contexts.
  • The skill is macOS 13+ only and has no versioning/changelog; verify command changes manually when updating.
See the full review method →

What does this skill do, and when should you use it?

claude-apple-bridges ships 7 compiled Swift binaries installed to ~/.claude/ so Claude Code can operate Apple's everyday apps natively from the command line. A bundled Claude Code skill (skills/apple-bridges) provides a complete command reference per bridge, loaded on demand to keep context usage minimal. All destructive commands are dry-run by default and require --force to execute. It targets macOS 13+ users and requires granting the matching system privacy permissions before use.

Runs 7 binaries at ~/.claude/: reminders-bridge manages lists, adds/completes/searches reminders, sets due dates; calendar-bridge lists today/tomorrow/week events, finds free slots, creates and deletes events; contacts-bridge searches contacts, adds/updates phones and emails, checks birthdays; notes-bridge creates/reads/searches notes with HTML rich-text support; mail-bridge lists unread, searches, reads raw RFC822 sources with MIME attachments, and composes via Mail.app (or --force sends directly); messages-bridge reads iMessage/SMS read-only from chat.db (decoding attributedBody typedstream) and sends text plus file attachments; tmux-bridge reads/snapshots pane content and sends keystrokes.

  1. Developers tracking work mid-project: ask Claude to close a GitHub issue and complete the matching reminder in one sentence after fixing a bug.
  2. Anyone scheduling around meetings: have Claude check tomorrow's free slots before setting a reminder or event, avoiding double-booking.
  3. Frequent contact lookups: ask for a phone number or birthday without opening Contacts.
  4. High-volume email users: have Claude summarize the last 7 days of unread mail and pull PDF invoice attachments from raw messages.
  5. tmux users: at end of day, ask Claude to snapshot running sessions, summarize what was done, and create follow-up reminders.

What are this skill's strengths and limitations?

Pros
  • Native compiled Swift binaries — no Python/Node runtime dependencies
  • Consistent safety design: all delete commands dry-run by default
  • Mail unread/search push filters server-side via whose clauses; ~1s on a 50k-message INBOX instead of minutes
  • messages-bridge decodes attributedBody typedstream so newer iMessages don't read back blank
  • Ships a 35-test integration suite (make test) that modifies no data
Limitations
  • macOS 13+ only; entirely unusable on other platforms
  • Permission setup is fiddly; messages-bridge Full Disk Access must be granted manually with no prompt
  • Default ad-hoc signing means TCC may re-prompt in new terminal or SSH sessions
  • messages send fires immediately with no confirmation; anti-misfire rules are the user's responsibility in Claude instructions
  • A wedged Messages.app scripting interface causes AppleEvent timed out (-1712), requiring a manual app restart
  • The README says 35 tests cover "all three bridges," inconsistent with the actual seven bridges

How do you install this skill?

1) Clone and build: git clone https://github.com/more-io/claude-apple-bridges.git && cd claude-apple-bridges && make install (installs bridges and skills; use make install-skills for skills only, or make install-reminders etc. individually). 2) Grant permissions: run each binary once from Terminal (e.g. ~/.claude/reminders-bridge lists) to trigger the prompt, then approve in System Settings → Privacy & Security; messages-bridge additionally needs Full Disk Access for your terminal, granted manually. 3) Add Bash(~/.claude/*-bridge*) patterns to permissions.allow in ~/.claude/settings.. Optional: build with CODESIGN_IDENTITY="Apple Development: ..." for persistent TCC grants.

How do you use this skill?

Start a Claude Code session and ask naturally, e.g. "What's on my todo list today?", "Find a free slot tomorrow and set a reminder", or "What's Rob's phone number?" — or type /apple-bridges to load the skill manually. Claude consults SKILL.md's reference table and invokes the matching ~/.claude/<bridge> command. Deletes are dry-run without --force; mail send opens a compose window for review unless --force is passed.

How does this skill compare with similar options?

The project's own topics include mcp, placing it in the same problem space as MCP-server approaches; however, the source material does not compare against any specific alternative, so none is named here.

FAQ

What permissions does it need?
Reminders, Calendars and Contacts use their respective privacy grants; Notes and Mail are granted automatically via AppleScript on first use; messages-bridge needs Full Disk Access (manual) for reading and Automation for sending.
Is it free?
Yes — MIT licensed, with source you compile yourself.
Can it accidentally delete or send things?
All delete commands preview (dry-run) unless --force is passed; mail send opens a compose window for manual review unless --force is used.
Sending iMessage fails with -1712 — what now?
That's Messages.app's scripting interface wedged. Quit and reopen Messages.app; sending works again immediately.

Related skills