openclaw - 💡(How to fix) Fix [Bug]: matrix plugin reports missing keys for this message [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#63345Fetched 2026-04-09 07:55:02
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Author
Participants
Timeline (top)
labeled ×2

This issue started to appear with the new Matrix plugin. After the container is rebuild, openclaw doesn't react to messages via matrix anymore. This happens to both direct messages as well as room messages. According to the log the keys were not exchanged. When I login with the agent credentials from another client (i.e. element web) the flow starts working. According to the agent the issue is that storage-meta.json doesn't contain the deviceId anymore.

Error Message

Error decrypting event (id=$HA7ocyy3jPedc0CXLP_YcWVLdOV3tpnG_BRfTe8bhr4 type=m.room.encrypted sender=@carsten:matrix.<redacted> room=!WWwArXXLCVJFjTvoAG:matrix.<redacted> ts=2026-04-08T19:55:46.963Z): DecryptionError[msg: The sender's device has not sent us the keys for this message., sender_key: nE0rJ+SDaXd1ULv8D0hF/Z30BFX/nComOWtHsoOkKz8, session_id: 9hq+cLJCPlomzsnCLBzOUJhM5i5lVmJi2iC8tXANjGo]

Root Cause

This issue started to appear with the new Matrix plugin. After the container is rebuild, openclaw doesn't react to messages via matrix anymore. This happens to both direct messages as well as room messages. According to the log the keys were not exchanged. When I login with the agent credentials from another client (i.e. element web) the flow starts working. According to the agent the issue is that storage-meta.json doesn't contain the deviceId anymore.

Code Example

Error decrypting event (id=$HA7ocyy3jPedc0CXLP_YcWVLdOV3tpnG_BRfTe8bhr4 type=m.room.encrypted sender=@carsten:matrix.<redacted> room=!WWwArXXLCVJFjTvoAG:matrix.<redacted> ts=2026-04-08T19:55:46.963Z): DecryptionError[msg: The sender's device has not sent us the keys for this message., sender_key: nE0rJ+SDaXd1ULv8D0hF/Z30BFX/nComOWtHsoOkKz8, session_id: 9hq+cLJCPlomzsnCLBzOUJhM5i5lVmJi2iC8tXANjGo]

---

"matrix": {
      "enabled": true,
      "encryption": true,
      "homeserver": "https://matrix.<redacted>",
      "accessToken": "XXX",
      "dm": {
        "policy": "pairing"
      },
      "groupPolicy": "allowlist",
      "groupAllowFrom": [
        "@carsten:matrix.<redacted>"
      ],
      "autoJoin": "always",
      "streaming": true,
      "groups": {
        "!WWwArXXLCVJFjTvoAG:matrix.<redacted>": {
          "requireMention": false,
          "enabled": true
        },
      }
    }
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

This issue started to appear with the new Matrix plugin. After the container is rebuild, openclaw doesn't react to messages via matrix anymore. This happens to both direct messages as well as room messages. According to the log the keys were not exchanged. When I login with the agent credentials from another client (i.e. element web) the flow starts working. According to the agent the issue is that storage-meta.json doesn't contain the deviceId anymore.

Steps to reproduce

Start openclaw Send a message via matrix No reaction

Expected behavior

Agent responds

Actual behavior

No reply

OpenClaw version

2026.4.8

Operating system

docker

Install method

docker

Model

claude-sonnet-4.6

Provider / routing chain

openclaw - reverse proxy - openrouter

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Error decrypting event (id=$HA7ocyy3jPedc0CXLP_YcWVLdOV3tpnG_BRfTe8bhr4 type=m.room.encrypted sender=@carsten:matrix.<redacted> room=!WWwArXXLCVJFjTvoAG:matrix.<redacted> ts=2026-04-08T19:55:46.963Z): DecryptionError[msg: The sender's device has not sent us the keys for this message., sender_key: nE0rJ+SDaXd1ULv8D0hF/Z30BFX/nComOWtHsoOkKz8, session_id: 9hq+cLJCPlomzsnCLBzOUJhM5i5lVmJi2iC8tXANjGo]

Impact and severity

No response

Additional information

    "matrix": {
      "enabled": true,
      "encryption": true,
      "homeserver": "https://matrix.<redacted>",
      "accessToken": "XXX",
      "dm": {
        "policy": "pairing"
      },
      "groupPolicy": "allowlist",
      "groupAllowFrom": [
        "@carsten:matrix.<redacted>"
      ],
      "autoJoin": "always",
      "streaming": true,
      "groups": {
        "!WWwArXXLCVJFjTvoAG:matrix.<redacted>": {
          "requireMention": false,
          "enabled": true
        },
      }
    }

extent analysis

TL;DR

The most likely fix is to ensure the storage-meta.json file contains the deviceId after the container is rebuilt.

Guidance

  • Verify that the storage-meta.json file is being populated correctly after the container rebuild by checking the file contents for the deviceId field.
  • Investigate why the deviceId is not being written to storage-meta.json during the container rebuild process, potentially related to the new Matrix plugin.
  • Check the Matrix plugin configuration to ensure it is not overwriting or clearing the storage-meta.json file during the rebuild process.
  • Consider adding logging or debugging statements to the container rebuild process to track when and how the storage-meta.json file is being updated.

Example

No specific code snippet can be provided without more context on the container rebuild process and the Matrix plugin implementation.

Notes

The issue seems to be related to the new Matrix plugin and its interaction with the storage-meta.json file. Without more information on the plugin's implementation and the container rebuild process, it's difficult to provide a more specific solution.

Recommendation

Apply a workaround to ensure the deviceId is written to storage-meta.json after the container rebuild, such as manually adding the deviceId to the file or modifying the rebuild process to include this step. This will allow the Matrix plugin to function correctly until a more permanent fix can be implemented.

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

Agent responds

Still need to ship something?

×6

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

Back to top recommendations

TRENDING