openclaw - 💡(How to fix) Fix [Bug] Inbound image attachments not downloaded to media/inbound in BlueBubbles and Slack channels [4 comments, 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
openclaw/openclaw#62248Fetched 2026-04-08 03:07:12
View on GitHub
Comments
4
Participants
1
Timeline
6
Reactions
0
Participants
Timeline (top)
commented ×4closed ×1cross-referenced ×1

Fix Action

Fix / Workaround

Additional context

  • Webchat image drops work correctly end-to-end
  • For BlueBubbles specifically: unclear whether attachment download requires Private API or only typing indicators/read receipts. If Private API is required for attachment download, this should be documented clearly
  • Slack has no equivalent Private API requirement, so the Slack case appears to be a separate gap
  • We attempted to patch attached:// URI handling in the prompt image detector and tool validators as a workaround — those patches are in place but don't resolve the root issue since the file never lands on disk in the first place

Workaround

Webchat drag-and-drop works. No workaround available for iMessage or Slack surfaces.

RAW_BUFFERClick to expand / collapse

Environment

  • OpenClaw: 2026.4.5
  • OS: macOS 15.4 (arm64, Mac mini)
  • Channels affected: BlueBubbles (iMessage), Slack
  • BlueBubbles Private API: disabled

Describe the bug

When a user sends an image attachment via iMessage (BlueBubbles) or Slack, the agent receives the message and a filename reference, but the attachment file is never written to ~/.openclaw/media/inbound/. As a result the agent cannot read or describe the image — there's nothing on disk to load.

The agent prompt contains a reference like IMG_1127.png or attached://IMG_1127.png but the file is absent from media/inbound/.

Steps to reproduce

  1. Send an iMessage or Slack message containing an image attachment to the agent
  2. Agent receives the message but ~/.openclaw/media/inbound/ has no new file
  3. Agent cannot describe or process the image

Expected behaviour

Inbound attachments should be fetched and cached to media/inbound/ before the agent turn runs, consistent with how webchat image uploads work.

Additional context

  • Webchat image drops work correctly end-to-end
  • For BlueBubbles specifically: unclear whether attachment download requires Private API or only typing indicators/read receipts. If Private API is required for attachment download, this should be documented clearly
  • Slack has no equivalent Private API requirement, so the Slack case appears to be a separate gap
  • We attempted to patch attached:// URI handling in the prompt image detector and tool validators as a workaround — those patches are in place but don't resolve the root issue since the file never lands on disk in the first place

Workaround

Webchat drag-and-drop works. No workaround available for iMessage or Slack surfaces.

extent analysis

TL;DR

The issue can be addressed by investigating and resolving the failure to download and cache inbound attachments to ~/.openclaw/media/inbound/ for both BlueBubbles (iMessage) and Slack channels.

Guidance

  • Verify the attachment download logic for BlueBubbles and Slack to ensure it is correctly implemented and not dependent on the Private API for BlueBubbles.
  • Check the configuration and permissions for the ~/.openclaw/media/inbound/ directory to ensure that the agent has the necessary access to write files.
  • Investigate the differences in handling between webchat image uploads (which work correctly) and iMessage/Slack attachments to identify potential discrepancies in the implementation.
  • Consider adding logging or debugging statements to track the flow of attachment downloads and identify where the process is failing.

Example

No specific code example can be provided without more details on the implementation, but adding logging for the attachment download process could look something like this:

try:
    # Download attachment logic here
    print("Attachment downloaded successfully")
except Exception as e:
    print(f"Error downloading attachment: {e}")

Notes

The root cause of the issue is unclear, and it may be related to the implementation of the attachment download logic or the configuration of the ~/.openclaw/media/inbound/ directory. Further investigation is needed to determine the exact cause and develop a comprehensive solution.

Recommendation

Apply a workaround by modifying the attachment download logic to correctly cache inbound attachments for both BlueBubbles and Slack channels, as the webchat image upload functionality is working as expected. This may involve re-implementing the attachment download process or adjusting the configuration to ensure that the agent can write files to the ~/.openclaw/media/inbound/ directory.

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