openclaw - 💡(How to fix) Fix iMessage/imsg channel config is accepted but gateway never starts provider on macOS [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#53794Fetched 2026-04-08 01:23:22
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Participants

On macOS, the legacy iMessage imsg channel appears to be accepted/configured by OpenClaw, but the gateway never starts an iMessage provider and never surfaces the channel in channels list or channels status --probe.

Root Cause

On macOS, the legacy iMessage imsg channel appears to be accepted/configured by OpenClaw, but the gateway never starts an iMessage provider and never surfaces the channel in channels list or channels status --probe.

Code Example

imsg chats --limit 10

---

"channels": {
  "imessage": {
    "enabled": true,
    "cliPath": "/opt/homebrew/bin/imsg",
    "dbPath": "/Users/danmorris/Library/Messages/chat.db",
    "dmPolicy": "pairing",
    "groupPolicy": "allowlist",
    "accounts": {
      "default": {
        "enabled": true,
        "cliPath": "/opt/homebrew/bin/imsg",
        "dbPath": "/Users/danmorris/Library/Messages/chat.db",
        "dmPolicy": "pairing",
        "groupPolicy": "allowlist"
      }
    }
  }
}

---

openclaw channels add --channel imessage

---

Added imessage account "default".

---

openclaw channels list

---

openclaw channels status --probe

---

{"subsystem":"gateway/channels/whatsapp"} [default] starting provider (+12506674585)
RAW_BUFFERClick to expand / collapse

Summary

On macOS, the legacy iMessage imsg channel appears to be accepted/configured by OpenClaw, but the gateway never starts an iMessage provider and never surfaces the channel in channels list or channels status --probe.

Environment

  • OpenClaw: 2026.3.23-2
  • macOS: local install on Dan’s Mac Studio
  • openclaw binary: /opt/homebrew/bin/openclaw
  • node: /opt/homebrew/bin/node
  • Node version in shell: v22.22.1
  • imsg binary: /opt/homebrew/bin/imsg

Repro / facts established

1) imsg itself works directly

imsg chats --limit 10

This succeeds and returns real chat history.

2) iMessage channel config is present

Example config state used:

"channels": {
  "imessage": {
    "enabled": true,
    "cliPath": "/opt/homebrew/bin/imsg",
    "dbPath": "/Users/danmorris/Library/Messages/chat.db",
    "dmPolicy": "pairing",
    "groupPolicy": "allowlist",
    "accounts": {
      "default": {
        "enabled": true,
        "cliPath": "/opt/homebrew/bin/imsg",
        "dbPath": "/Users/danmorris/Library/Messages/chat.db",
        "dmPolicy": "pairing",
        "groupPolicy": "allowlist"
      }
    }
  }
}

Also tried a clean reset and re-adding from scratch with:

openclaw channels add --channel imessage

which reports:

Added imessage account "default".

3) Gateway notices config changes and restarts

Logs include config reload entries for channels.imessage... and gateway restarts happen normally.

4) But iMessage never starts as a provider

Observed behavior after restart:

openclaw channels list

Shows only WhatsApp.

openclaw channels status --probe

Shows only WhatsApp.

Gateway logs show WhatsApp startup lines such as:

{"subsystem":"gateway/channels/whatsapp"} [default] starting provider (+12506674585)

But there is never any corresponding iMessage startup line.

Expected

Either:

  1. the iMessage provider should start, or
  2. the gateway should emit a clear iMessage failure explaining why it is not starting.

Actual

The iMessage channel appears to be silently ignored as a monitored gateway channel:

  • accepted in config
  • account add reports success
  • gateway restart occurs
  • no provider startup
  • no provider failure
  • channel absent from list/status output

Notes

  • This was tested after confirming imsg works directly in the same environment.
  • This was also tested after moving to Node 22 in the shell path (/opt/homebrew/bin/node, v22.22.1).
  • The iMessage plugin/runtime code appears to still exist in the installed build, including startup logging, but that code path is never reached in practice.

extent analysis

Fix Plan

To resolve the issue with the iMessage provider not starting, follow these steps:

  1. Verify the imsg binary path: Ensure the imsg binary is correctly referenced in the OpenClaw configuration. The path should match the one that works when running imsg directly.
  2. Check the dbPath configuration: Confirm that the dbPath for the iMessage channel points to the correct location of the chat.db file.
  3. Enable debug logging: Modify the OpenClaw configuration to enable debug logging for the gateway and channels. This can help identify any issues during the startup process.
  4. Update the iMessage plugin: If the iMessage plugin is outdated, update it to the latest version compatible with OpenClaw 2026.3.23-2.
  5. Code changes: In the OpenClaw codebase, check the imessage channel initialization logic. Ensure that the imsg binary is correctly executed and that any errors are properly logged.

Example code snippet to enable debug logging:

"logging": {
  "level": "debug",
  "channels": {
    "imessage": {
      "level": "debug"
    }
  }
}

Example code snippet to update the iMessage plugin initialization:

// In the iMessage plugin initialization code
const imsgBinary = '/opt/homebrew/bin/imsg';
const dbPath = '/Users/danmorris/Library/Messages/chat.db';

try {
  // Execute the imsg binary with the correct dbPath
  const childProcess = spawn(imsgBinary, ['--db-path', dbPath]);
  // Handle child process errors and exit events
} catch (error) {
  // Log any errors that occur during initialization
  logger.error('Error initializing iMessage provider:', error);
}

Verification

After applying the fixes, restart the OpenClaw gateway and verify that the iMessage provider starts correctly. Check the gateway logs for any errors or issues during the startup process. Use the openclaw channels list and openclaw channels status --probe commands to confirm that the iMessage channel is now visible and functioning as expected.

Extra Tips

  • Ensure that the imsg binary is compatible with the version of macOS and OpenClaw being used.
  • If issues persist, try resetting the OpenClaw configuration and re-adding the iMessage channel from scratch.
  • Monitor the gateway logs for any errors or warnings related to the iMessage provider, and adjust the configuration or code accordingly.

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

openclaw - 💡(How to fix) Fix iMessage/imsg channel config is accepted but gateway never starts provider on macOS [1 participants]