-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
iMessage outbound sends should prefer configurable IMCore transport when available #84329
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
OpenClaw's normal iMessage outbound reply path currently sends through JSON-RPC
sendwithout choosing a transport. On one macOS deployment, that path stalled because AppleScript delivery timed out, while the IMCore/private-API path was healthy andimsg send-richqueued immediately.It would be safer if OpenClaw either defaulted normal outbound iMessage sends to
transport: "auto"when supported byimsg, or exposed a config option so operators can forceauto,bridge, orapplescript.Environment
2026.5.18imsg:0.9.026.5cliPathwrapper running in a signed-in Messages user contextimsg launchhad succeeded;imsg status --jsonreported advanced/private API supportObserved Behavior
imsg send-rich --chat ... --text ... --jsonreturned quickly with a queued message.Expected Behavior
When the
imsgprivate API bridge is available, normal OpenClaw iMessage sends should be able to avoid the AppleScript path, or operators should be able to configure that explicitly.Code Pointers
extensions/imessage/src/send.tsbuilds the JSON-RPCsendparams and callsclient.request("send", params, ...).extensions/imessage/src/actions.runtime.tsalready routes richer message actions throughimsg send-rich.imsgRPCsendsupports a transport option (auto,bridge,applescript), so OpenClaw could pass a preferred transport without requiring a local wrapper workaround.Possible Fix
channels.imessage.sendTransport/ account-level equivalent with values likeauto,bridge, andapplescript.autowhen the installedimsgsupports it.sendparams.imsgbuilds that do not accept the option.I can follow up with a PR if this direction sounds acceptable.