openclaw - 💡(How to fix) Fix Bug: iMessage media sends to direct handles use legacy RPC path instead of send.attachment [2 pull requests]

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…

iMessage media sends to direct-handle targets can still route through the legacy RPC send path with a file field instead of the send.attachment path. This is especially visible when the media send also has caption text.

Example target shape only:

imessage:+15551234567

No real phone numbers are included here.

Root Cause

iMessage media sends to direct-handle targets can still route through the legacy RPC send path with a file field instead of the send.attachment path. This is especially visible when the media send also has caption text.

Example target shape only:

imessage:+15551234567

No real phone numbers are included here.

Fix Action

Fixed

Code Example

imessage:+15551234567

---

OpenClaw iMessage bridge does not support attachments yet
code=-32603
RAW_BUFFERClick to expand / collapse

Summary

iMessage media sends to direct-handle targets can still route through the legacy RPC send path with a file field instead of the send.attachment path. This is especially visible when the media send also has caption text.

Example target shape only:

imessage:+15551234567

No real phone numbers are included here.

Actual behavior

A direct-handle iMessage media send fails before media delivery with:

OpenClaw iMessage bridge does not support attachments yet
code=-32603

From code inspection, the current attachment path appears to be limited to media-only explicit chat targets. Direct-handle targets and captioned media sends can fall through to legacy RPC send with file, which the bridge rejects.

Expected behavior

OpenClaw should avoid the legacy send + file path for iMessage media delivery when the bridge supports send.attachment.

Expected routing:

  1. Resolve direct-handle DM targets to a chat GUID/chat identifier suitable for attachment delivery.
  2. Send media via send.attachment using the bot-readable handoff path.
  3. If the bridge does not support rich attachment sends with caption text, send the caption as a separate normal text message.

Known working path

Media-only sends to explicit chat_guid / chat_id targets can use the bot-readable handoff path plus send.attachment.

Regression coverage requested

Please add coverage for these cases:

  • Direct-handle media-only send, e.g. imessage:+15551234567.
  • Direct-handle media send with caption text.
  • Explicit chat media send with caption text.

Related but not duplicate

  • #83365 covers iMessage group media final replies where generated media exists but group delivery fails.
  • #86770 fixes media-only explicit chat sends by using send.attachment, while intentionally preserving existing direct-handle and text/caption behavior.

This issue tracks the remaining direct-handle and captioned-media paths so those sends also avoid legacy RPC send with file.

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…

FAQ

Expected behavior

OpenClaw should avoid the legacy send + file path for iMessage media delivery when the bridge supports send.attachment.

Expected routing:

  1. Resolve direct-handle DM targets to a chat GUID/chat identifier suitable for attachment delivery.
  2. Send media via send.attachment using the bot-readable handoff path.
  3. If the bridge does not support rich attachment sends with caption text, send the caption as a separate normal text message.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING