-
Notifications
You must be signed in to change notification settings - Fork 94
Open
Description
Summary
imsg typing fails on macOS 26.3 (Tahoe) because imagent now enforces Apple-private entitlements on its XPC service (com.apple.imagent.desktop.auth). Any third-party binary — signed or unsigned — is rejected.
Environment
- macOS 26.3 (Build 25D125, Tahoe)
- imsg v0.5.0 (Homebrew)
- Apple Swift 6.2.3
Steps to Reproduce
imsg typing --to +1XXXXXXXXXX --duration 5sError
typingIndicatorFailed("Chat not found for identifier: iMessage;-;+1XXXXXXXXXX.
Make sure Messages.app has an active conversation with this contact.")
Root Cause
The error message is misleading — the actual failure is the daemon connection. System logs show:
imagent: (IMDaemonCore) [com.apple.Messages:DaemonClientConnections]
Client <pid> does not have any of allowed entitlements <private>, invalidating connection
On macOS 26, imagent rejects XPC connections from processes that lack Apple-private entitlements. IMDaemonController.isConnected always returns false, so IMChatRegistry.allExistingChats returns 0 results, and the chat lookup fails.
This is a macOS-level lockdown — code signing alone does not fix it. The required entitlements (likely com.apple.imagent.chat or similar) are restricted to Apple-signed binaries.
What We Tried
connectToDaemon,connectToDaemonWithLaunch:,connectToDaemonWithLaunch:capabilities:blockUntilConnected:— all fail- Ad-hoc signing with Apple entitlements → SIGKILL (macOS blocks claiming private entitlements)
- Setting listener ID to
com.apple.MobileSMS— still rejected - Waiting up to 3+ seconds for async connection — never connects
- Verified
IMChatRegistry,IMDaemonController, andIMChatclasses all still exist and load fine viadlopen - All existing selectors (
existingChatWithGUID:,existingChatWithChatIdentifier:,setLocalUserIsTyping:) are present
Possible Alternatives
- Accessibility API: Programmatically focus the Messages.app input field to trigger native typing indicators — no entitlements needed
- AppleScript extension: If Messages.app ever exposes typing via its scripting dictionary
- Messages.app plugin/extension: Would inherit the app's entitlements, but Apple may block this path too
Related
- PR feat: add typing indicator support via IMCore private framework #41 (original typing indicator implementation)
- This likely affects all IMCore-dependent features on macOS 26+
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels