Summary
In an allowlisted iMessage group, image-generation requests can complete successfully and save the generated PNG under ~/.openclaw/media/tool-image-generation, but the normal OpenClaw group final-reply/media delivery does not land in the iMessage group. Manually sending the exact generated file with imsg send-rich --chat iMessage;+;<group-guid> --file <path> succeeds immediately.
This has reproduced twice in the same iMessage group after migrating from BlueBubbles to the bundled/native iMessage channel.
Environment
- OpenClaw:
2026.5.12 (f066dd2)
- imsg:
0.9.0
- macOS: Apple Silicon, SIP disabled
imsg status --json reports:
advanced_features: true
v2_ready: true
bridge_version: 2
- RPC methods include
send.rich and send.attachment
- Channel: bundled
imessage
- Group config:
channels.imessage.enabled: true
channels.imessage.groupPolicy: "allowlist"
- numeric local chat id is explicitly allowlisted under
channels.imessage.groups["5"]
requireMention: false
Repro
- Configure an iMessage group under
channels.imessage.groups using the local numeric chat id.
- In that iMessage group, ask the agent to generate an image.
- Observe that the agent run reaches image generation and creates a PNG under
~/.openclaw/media/tool-image-generation.
- Observe that no normal group media reply lands in the originating iMessage group.
- Send the same file manually:
imsg send-rich --chat 'iMessage;+;<group-guid>' --file ~/.openclaw/media/tool-image-generation/<generated>.png
- The media appears in the group immediately.
Concrete observations
Case 1:
- Inbound group request: "Make us an image of that joke"
- Generated image existed at:
~/.openclaw/media/tool-image-generation/computer-doctor-virus-joke---86103679-31e6-46c8-8353-a8e11a27f785.png
- Normal group delivery did not appear.
- Manual fallback worked:
imsg send-rich --chat 'iMessage;+;<group-guid>' --file <path>
Case 2:
- Inbound group request: "Send Del a funny picture about poop"
- Generated image existed at:
~/.openclaw/media/tool-image-generation/poopception-for-del---c00aad1a-8638-486d-a0d1-6bf0da5e7bc5.png
- Normal group delivery did not appear.
- Manual fallback worked and local history then showed:
[sent] ...: Poop-ception, as requested.
(1 attachment)
Why this looks like an OpenClaw delivery bug
This does not appear to be:
- group admission / allowlist: text replies in the same group work, and the group is explicitly allowlisted by numeric chat id
- image generation: the PNG file is created successfully
- imsg bridge capability: direct
imsg send-rich with the same file and group GUID succeeds
- basic iMessage outbound: direct DM text/media sends work
The weak link appears to be OpenClaw's iMessage group media final-reply path, or a missing fallback from the generic media delivery path to imsg send-rich / send.attachment for iMessage groups.
Expected
When an image-generation tool returns a generated image for an iMessage group turn, OpenClaw should deliver that image back to the originating group, or surface a clear delivery failure and/or retry via the known-good rich-send path.
Actual
The generated artifact exists, but the originating iMessage group receives no media reply. Manual direct imsg send-rich delivery succeeds.
Related issues checked
I searched for an exact duplicate and did not find one. Related but not exact:
Summary
In an allowlisted iMessage group, image-generation requests can complete successfully and save the generated PNG under
~/.openclaw/media/tool-image-generation, but the normal OpenClaw group final-reply/media delivery does not land in the iMessage group. Manually sending the exact generated file withimsg send-rich --chat iMessage;+;<group-guid> --file <path>succeeds immediately.This has reproduced twice in the same iMessage group after migrating from BlueBubbles to the bundled/native iMessage channel.
Environment
2026.5.12 (f066dd2)0.9.0imsg status --jsonreports:advanced_features: truev2_ready: truebridge_version: 2send.richandsend.attachmentimessagechannels.imessage.enabled: truechannels.imessage.groupPolicy: "allowlist"channels.imessage.groups["5"]requireMention: falseRepro
channels.imessage.groupsusing the local numeric chat id.~/.openclaw/media/tool-image-generation.Concrete observations
Case 1:
~/.openclaw/media/tool-image-generation/computer-doctor-virus-joke---86103679-31e6-46c8-8353-a8e11a27f785.pngCase 2:
~/.openclaw/media/tool-image-generation/poopception-for-del---c00aad1a-8638-486d-a0d1-6bf0da5e7bc5.pngWhy this looks like an OpenClaw delivery bug
This does not appear to be:
imsg send-richwith the same file and group GUID succeedsThe weak link appears to be OpenClaw's iMessage group media final-reply path, or a missing fallback from the generic media delivery path to
imsg send-rich/send.attachmentfor iMessage groups.Expected
When an image-generation tool returns a generated image for an iMessage group turn, OpenClaw should deliver that image back to the originating group, or surface a clear delivery failure and/or retry via the known-good rich-send path.
Actual
The generated artifact exists, but the originating iMessage group receives no media reply. Manual direct
imsg send-richdelivery succeeds.Related issues checked
I searched for an exact duplicate and did not find one. Related but not exact:
channels.imessage.groupsis missing. This setup has the group allowlisted and text replies work.imsg send-richworks.