claude-code - 💡(How to fix) Fix Cowork: Host-Mac AppleScript bridge for native macOS app integration [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#60651Fetched 2026-05-20 03:52:59
View on GitHub
Comments
0
Participants
1
Timeline
4
Reactions
0
Timeline (top)
labeled ×4

Root Cause

  • Use Claude Code in the terminal for any workflow that needs host-Mac binaries. AppleScript works there because Claude Code runs natively on macOS. Adequate for one-off CLI use; inadequate for Cowork-style chat workflows or scheduled tasks.
  • Build a file-based bridge: Cowork writes intents to a file in the workspace; a separate macOS launchd job or Shortcut reads the file and applies the intent (e.g., creates a reminder). Roundabout, adds moving parts, and requires the user to set up the launchd job themselves.
  • For Apple Reminders specifically: build a CalDAV-based MCP server that talks to iCloud directly without needing the host Mac at all. Real project, not a workaround.
  • Wait for Computer Use to ship to Enterprise plans, which would let Cowork drive macOS apps on screen visually. Lower effort but only partial overlap, and not available to Enterprise users yet.

Fix Action

Fix / Workaround

  • Use Claude Code in the terminal for any workflow that needs host-Mac binaries. AppleScript works there because Claude Code runs natively on macOS. Adequate for one-off CLI use; inadequate for Cowork-style chat workflows or scheduled tasks.
  • Build a file-based bridge: Cowork writes intents to a file in the workspace; a separate macOS launchd job or Shortcut reads the file and applies the intent (e.g., creates a reminder). Roundabout, adds moving parts, and requires the user to set up the launchd job themselves.
  • For Apple Reminders specifically: build a CalDAV-based MCP server that talks to iCloud directly without needing the host Mac at all. Real project, not a workaround.
  • Wait for Computer Use to ship to Enterprise plans, which would let Cowork drive macOS apps on screen visually. Lower effort but only partial overlap, and not available to Enterprise users yet.
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

Cowork sessions run inside a Linux sandbox (Ubuntu / aarch64), not on the host Mac. Scheduled tasks run in the same Linux sandbox. As a result, macOS-only binaries are unavailable — osascript, pbcopy, pbpaste, defaults, launchctl, open -a Foo, etc. all return command not found.

This means Cowork cannot integrate with any native macOS application. The list of apps Mac users can't reach from Cowork includes Apple's first-party apps that have rich AppleScript dictionaries:

  • Reminders.app — read, create, complete reminders; manage lists; set due dates
  • Messages.app — send iMessages
  • Notes.app — read, create, search notes
  • Shortcuts.app — invoke user-defined Shortcuts
  • Mail.app — local mail operations
  • Calendar.app — local calendar operations (separate from Google/iCloud connectors)

These are some of the most heavily-used native macOS productivity apps. Mac users currently have to choose between Cowork (no native app integration) and Claude Code (full host access but terminal-only UI).

Notably, Cowork's first-party Word and PowerPoint MCP connectors already use AppleScript internally (see #26385), which means a Cowork-session-to-host-AppleScript bridge already exists architecturally — it just isn't exposed for user-level integrations.

Proposed Solution

Provide a host-Mac bridge from Cowork sessions. A few possible shapes, in order of preference:

  1. A host-exec capability that lets Cowork invoke a permitted set of binaries on the host Mac, gated by user approval (similar to how external MCP tool calls are approved). Could be limited to osascript only, or generalized.
  2. A set of first-party Anthropic-built macOS connectors (Reminders, Messages, Notes, Shortcuts) — similar to the existing Google Calendar or Slack connectors — that talk to macOS apps via AppleScript or EventKit under the hood and expose MCP-style tools to Cowork.
  3. Allow custom stdio MCP servers in Cowork (already filed separately as #48909). With this in place, a user could install a third-party macOS Reminders MCP server that runs on the host Mac and bridges to Cowork via stdio.

Option 3 is the most general and partially overlaps with #48909; this FR is narrower (specifically about macOS app integration) and would be subsumed by #48909 if that landed first.

Alternative Solutions

  • Use Claude Code in the terminal for any workflow that needs host-Mac binaries. AppleScript works there because Claude Code runs natively on macOS. Adequate for one-off CLI use; inadequate for Cowork-style chat workflows or scheduled tasks.
  • Build a file-based bridge: Cowork writes intents to a file in the workspace; a separate macOS launchd job or Shortcut reads the file and applies the intent (e.g., creates a reminder). Roundabout, adds moving parts, and requires the user to set up the launchd job themselves.
  • For Apple Reminders specifically: build a CalDAV-based MCP server that talks to iCloud directly without needing the host Mac at all. Real project, not a workaround.
  • Wait for Computer Use to ship to Enterprise plans, which would let Cowork drive macOS apps on screen visually. Lower effort but only partial overlap, and not available to Enterprise users yet.

Priority

Medium - Would be very helpful

Feature Category

Other

Use Case Example

Scenario — task tracking in Apple Reminders:

  1. Cameron is in a Cowork session reviewing his day's work.
  2. He says: "Add a reminder for tomorrow at 9 AM to follow up with the PSS team on PSS-43187."
  3. Cowork would call osascript (or an equivalent host-Mac tool) to create a reminder in Reminders.app's "Work" list with the specified due date.
  4. The reminder syncs via iCloud to Cameron's iPhone, Apple Watch, and iPad — visible everywhere.
  5. When Cameron completes the reminder on his phone, the next morning's Cowork briefing skill reads the Reminders list back and notes the follow-up as done.

Today, step 3 is impossible from Cowork. Cameron either: (a) types the reminder into Reminders.app manually, (b) uses a plain TODO.md file in the Cowork workspace (no phone/watch sync), or (c) switches to Claude Code in the terminal — which works but breaks the Cowork-chat workflow.

The same pattern applies to scheduled tasks: a 6 AM "morning briefing" scheduled task can't iMessage Cameron a high-priority alert today, because osascript isn't in the scheduled-task sandbox either (diagnostic test verified May 19, 2026).

Additional Context

Diagnostic test results (May 19, 2026):

  • Interactive Cowork bash: osascript: command not found, exit 127
  • Scheduled task (one-off, fired via Cowork's scheduling MCP): same result
  • uname -a in both contexts: Linux 6.8.0-106-generic ... aarch64 ... Ubuntu

Related issues:

  • #48909 — Custom stdio MCP support FR (would partially subsume this if it lands)
  • #26385 — AppleScript already used in Cowork's first-party Word/PowerPoint MCP connectors (precedent: a Cowork-to-host AppleScript bridge already exists for first-party connectors; this FR asks to extend it to user-level integrations)
  • #40495 — Confirms Cowork sandbox is Linux/aarch64, not host macOS

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Cowork: Host-Mac AppleScript bridge for native macOS app integration [1 participants]