openclaw - ✅(Solved) Fix [Bug]: "Matrix does not support guided setup yet" regression [2 pull requests, 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#59415Fetched 2026-04-08 02:24:06
View on GitHub
Comments
0
Participants
1
Timeline
6
Reactions
0
Participants
Timeline (top)
cross-referenced ×2labeled ×2closed ×1locked ×1

At some point in the move to the new Matrix plugin, the guided setup through openclaw configure --section channels or openclaw channels add no longer works for the Matrix channel.

Error Message

  1. Observe the error: matrix does not support guided setup yet.

Root Cause

At some point in the move to the new Matrix plugin, the guided setup through openclaw configure --section channels or openclaw channels add no longer works for the Matrix channel.

Fix Action

Fixed

PR fix notes

PR #59425: fix(matrix): restore guided setup wizard registration

Description (problem / solution / changelog)

Summary

  • register the Matrix onboarding wizard on the channel plugin again so openclaw channels add can drive guided setup
  • add a regression test that asserts the Matrix channel still exposes configureInteractive

Testing

  • pnpm.cmd test -- extensions/matrix/src/channel.setup.test.ts
  • pnpm.cmd test -- extensions/matrix/src/onboarding.test.ts
  • pnpm.cmd test -- extensions/matrix/src/channel.directory.test.ts

Closes #59415

Changed files

  • extensions/matrix/src/channel.setup.test.ts (modified, +7/-0)
  • extensions/matrix/src/channel.ts (modified, +2/-0)
  • extensions/matrix/src/onboarding.test-harness.ts (modified, +2/-1)
  • extensions/matrix/src/onboarding.ts (modified, +5/-50)
  • src/channels/plugins/setup-wizard-types.ts (modified, +1/-1)
  • src/channels/plugins/types.plugin.ts (modified, +2/-0)
  • src/commands/channel-setup/registry.ts (modified, +5/-2)
  • src/plugin-sdk/setup.ts (modified, +1/-0)

PR #59462: fix(matrix): restore guided setup flow

Description (problem / solution / changelog)

Summary

  • Problem: openclaw channels add and openclaw configure --section channels fell back to matrix does not support guided setup yet. even though Matrix still had guided onboarding logic.
  • Why it matters: Matrix users lost the interactive setup path and could not complete onboarding from the shared channel setup flow.
  • What changed: restored Matrix on the canonical setupWizard seam, taught the setup registry to accept either declarative or adapter-shaped setupWizard, and added registry + end-to-end regression coverage.
  • What did NOT change (scope boundary): no new public setupWizardAdapter field, no changes to Matrix setup behavior outside the broken guided path.

Change Type (select all)

  • Bug fix
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #59415
  • Related #59425
  • This PR fixes a bug or regression

Root Cause / Regression History (if applicable)

  • Root cause: the interactive channel setup flow resolves guided onboarding from plugin.setupWizard, but Matrix no longer exposed its existing guided adapter there.
  • Missing detection / guardrail: we had no setup-registry or setupChannels regression test proving Matrix still resolved a guided setup adapter.
  • Prior context (git blame, prior PR, issue, or refactor if known): Matrix onboarding logic still existed; the break was registration drift after refactor work around the setup surfaces.
  • Why this regressed now: Matrix kept setup but lost the guided setup registration that the interactive flow actually uses.
  • If unknown, what was ruled out: ruled out missing onboarding implementation; the prompts/bootstrap logic was still present.

Regression Test Plan (if applicable)

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file: src/commands/channel-setup/registry.test.ts, src/commands/onboard-channels.e2e.test.ts, extensions/matrix/src/channel.setup.test.ts
  • Scenario the test should lock in: Matrix resolves a guided setup adapter through the shared registry and setupChannels runs the guided flow without hitting the fallback error.
  • Why this is the smallest reliable guardrail: the bug lived at the seam between plugin registration and the shared interactive flow, not inside Matrix prompt logic itself.
  • Existing test that already covers this (if any): Matrix plugin-local setup tests covered pieces of setup but not registry resolution.
  • If no new test is added, why not: N/A

User-visible / Behavior Changes

  • Matrix guided setup works again in the shared interactive onboarding flow.
  • Custom adapter-shaped plugin wizards continue to work through the same setupWizard property.

Diagram (if applicable)

Before:
[user selects Matrix in setupChannels] -> [registry finds no guided adapter] -> [fallback error]

After:
[user selects Matrix in setupChannels] -> [registry resolves Matrix setupWizard] -> [guided prompts run] -> [config written]

Security Impact (required)

  • New permissions/capabilities? (No)
  • Secrets/tokens handling changed? (No)
  • New/changed network calls? (No)
  • Command/tool execution surface changed? (No)
  • Data access scope changed? (No)
  • If any Yes, explain risk + mitigation: N/A

Repro + Verification

Environment

  • OS: macOS
  • Runtime/container: Node 22 + pnpm
  • Model/provider: N/A
  • Integration/channel (if any): Matrix
  • Relevant config (redacted): interactive channel setup with Matrix selected

Steps

  1. Start interactive channel setup.
  2. Select Matrix.
  3. Continue through the guided prompts.

Expected

  • Matrix guided prompts run and write config.

Actual

  • Before fix: setup fell back to matrix does not support guided setup yet.
  • After fix: Matrix resolves through the shared guided setup registry and completes setup.

Evidence

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Human Verification (required)

  • Verified scenarios: Matrix plugin exposes guided setup; registry resolves both declarative and adapter-shaped setupWizard; setupChannels Matrix quickstart path no longer falls back.
  • Edge cases checked: adapter-shaped setupWizard passthrough in registry helper; declarative wizard caching still works.
  • What you did not verify: full manual TTY run of openclaw channels add; full repo pnpm check is currently blocked by unrelated local Telegram worktree errors.

Review Conversations

  • I replied to or resolved every bot review conversation I addressed in this PR.
  • I left unresolved only the conversations that still need reviewer or maintainer judgment.

Compatibility / Migration

  • Backward compatible? (Yes)
  • Config/env changes? (No)
  • Migration needed? (No)
  • If yes, exact upgrade steps: N/A

Risks and Mitigations

  • Risk: setupWizard now explicitly accepts both declarative and adapter-shaped guided setup surfaces.
    • Mitigation: registry tests cover both shapes, and the interactive Matrix e2e covers the real broken path.

Changed files

  • CHANGELOG.md (modified, +1/-0)
  • extensions/matrix/src/channel.setup.test.ts (modified, +6/-0)
  • extensions/matrix/src/channel.ts (modified, +2/-0)
  • extensions/matrix/src/onboarding.test-harness.ts (modified, +6/-1)
  • extensions/matrix/src/onboarding.ts (modified, +5/-50)
  • extensions/whatsapp/src/shared.ts (modified, +6/-3)
  • src/channels/plugins/types.plugin.ts (modified, +4/-1)
  • src/commands/channel-setup/registry.test.ts (added, +58/-0)
  • src/commands/channel-setup/registry.ts (modified, +34/-2)
  • src/commands/onboard-channels.e2e.test.ts (modified, +135/-0)
  • test/helpers/plugins/matrix-setup.ts (added, +1/-0)
  • test/helpers/plugins/setup-wizard.ts (modified, +29/-7)

Code Example

🦞 OpenClaw 2026.4.1 (da64a97)Give me a workspace and I'll give you fewer tabs, fewer toggles, and more oxygen.

  Channel setup
Channel status ────────────────────────────────╮
│                                                 │
Telegram: needs token                          │
WhatsApp: not linked                           │
Discord: needs token                           │
IRC: needs host + nick                         │
Slack: needs tokens                            │
Signal: needs setup                            │
│  signal-cli: missing (signal-cli)│  iMessage: needs setup                          │
│  imsg: missing (imsg)LINE: needs token + secret                     │
Accounts: 0QQ Bot: needs AppID + AppSecretGoogle Chat: needs service account             │
MS Teams: needs app credentials                │
Mattermost: needs token + url                  │
Nextcloud Talk: needs setup                    │
Feishu: needs app credentials                  │
BlueBubbles: needs setup                       │
Zalo: needs token                              │
Zalo Personal: needs QR login                  │
Synology Chat: needs token + incoming webhook  │
Accounts: 0Tlon: needs setup                              │
Nostr: needs private key                       │
Relays: 2Twitch: installed                              │
│                                                 │
├─────────────────────────────────────────────────╯
Configure chat channels now?
Yes
How channels work ─────────────────────────────────────────────────────────────────────╮
│                                                                                         │
DM security: default is pairing; unknown DMs get a pairing code.                       
Approve with: openclaw pairing approve <channel> <code>Public DMs require dmPolicy="open" + allowFrom=["*"].                                  
Multi-user DMs: run: openclaw config set session.dmScope "per-channel-peer" (or        │
"per-account-channel-peer" for multi-account channels) to isolate sessions.            
Docs: channels/pairing            │
│                                                                                         │
Telegram: simplest way to get started — register a bot with @BotFather and get going.  
WhatsApp: works with your own number; recommend a separate phone + eSIM.               
Discord: very well supported right now.                                                
IRC: classic IRC networks with DM/channel routing and pairing controls.                
Google Chat: Google Workspace Chat app with HTTP webhook.                              
Slack: supported (Socket Mode).                                                        
Signal: signal-cli linked device; more setup (David Reagans: "Hop on Discord.").       
│  iMessage: this is still a work in progress.                                            
LINE: LINE Messaging API webhook bot.                                                  
QQ Bot: Connect to QQ via official QQ Bot APIMicrosoft Teams: Teams SDK; enterprise support.                                        
Mattermost: self-hosted Slack-style chat; install the plugin to enable.                
Nextcloud Talk: Self-hosted chat via Nextcloud Talk webhook bots.                      
Feishu: 飞书/Lark enterprise messaging.                                                
Matrix: open protocol; configure a homeserver + access token.                          
BlueBubbles: iMessage via the BlueBubbles mac app + REST API.                          
Zalo: Vietnam-focused messaging platform with Bot API.                                 
Zalo Personal: Zalo personal account via QR code login.                                
Synology Chat: Connect your Synology NAS Chat to OpenClawTlon: Decentralized messaging on UrbitNostr: Decentralized DMs via Nostr relays (NIP-04)Twitch: Twitch chat integration                                                        │
│                                                                                         │
├─────────────────────────────────────────────────────────────────────────────────────────╯
Select a channel
Matrix (plugin)
Channel setup ─────────────────────────────╮
│                                             │
│  matrix does not support guided setup yet.  
│                                             │
├─────────────────────────────────────────────╯
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

At some point in the move to the new Matrix plugin, the guided setup through openclaw configure --section channels or openclaw channels add no longer works for the Matrix channel.

Steps to reproduce

  1. Run openclaw channels add
  2. Select Matrix
  3. Observe the error: matrix does not support guided setup yet.

Expected behavior

The guided setup from before the plugin rewrite, with inputing the homeserver, username, password/token.

Actual behavior

matrix does not support guided setup yet.

OpenClaw version

2026.4.1

Operating system

Ubuntu 24.04

Install method

npm global

Model

n/a

Provider / routing chain

n/a

Additional provider/model setup details

No response

Logs, screenshots, and evidence

🦞 OpenClaw 2026.4.1 (da64a97) — Give me a workspace and I'll give you fewer tabs, fewer toggles, and more oxygen.

┌  Channel setup
◇  Channel status ────────────────────────────────╮
│                                                 │
│  Telegram: needs token                          │
│  WhatsApp: not linked                           │
│  Discord: needs token                           │
│  IRC: needs host + nick                         │
│  Slack: needs tokens                            │
│  Signal: needs setup                            │
│  signal-cli: missing (signal-cli)│  iMessage: needs setup                          │
│  imsg: missing (imsg)│  LINE: needs token + secret                     │
│  Accounts: 0│  QQ Bot: needs AppID + AppSecret                │
│  Google Chat: needs service account             │
│  MS Teams: needs app credentials                │
│  Mattermost: needs token + url                  │
│  Nextcloud Talk: needs setup                    │
│  Feishu: needs app credentials                  │
│  BlueBubbles: needs setup                       │
│  Zalo: needs token                              │
│  Zalo Personal: needs QR login                  │
│  Synology Chat: needs token + incoming webhook  │
│  Accounts: 0│  Tlon: needs setup                              │
│  Nostr: needs private key                       │
│  Relays: 2│  Twitch: installed                              │
│                                                 │
├─────────────────────────────────────────────────╯
◇  Configure chat channels now?
│  Yes
◇  How channels work ─────────────────────────────────────────────────────────────────────╮
│                                                                                         │
│  DM security: default is pairing; unknown DMs get a pairing code.                       │
│  Approve with: openclaw pairing approve <channel> <code>│  Public DMs require dmPolicy="open" + allowFrom=["*"].                                  │
│  Multi-user DMs: run: openclaw config set session.dmScope "per-channel-peer" (or        │
"per-account-channel-peer" for multi-account channels) to isolate sessions.            │
│  Docs: channels/pairing            │
│                                                                                         │
│  Telegram: simplest way to get started — register a bot with @BotFather and get going.  │
│  WhatsApp: works with your own number; recommend a separate phone + eSIM.               │
│  Discord: very well supported right now.                                                │
│  IRC: classic IRC networks with DM/channel routing and pairing controls.                │
│  Google Chat: Google Workspace Chat app with HTTP webhook.                              │
│  Slack: supported (Socket Mode).                                                        │
│  Signal: signal-cli linked device; more setup (David Reagans: "Hop on Discord.").       │
│  iMessage: this is still a work in progress.                                            │
│  LINE: LINE Messaging API webhook bot.                                                  │
│  QQ Bot: Connect to QQ via official QQ Bot API                                          │
│  Microsoft Teams: Teams SDK; enterprise support.                                        │
│  Mattermost: self-hosted Slack-style chat; install the plugin to enable.                │
│  Nextcloud Talk: Self-hosted chat via Nextcloud Talk webhook bots.                      │
│  Feishu: 飞书/Lark enterprise messaging.                                                │
│  Matrix: open protocol; configure a homeserver + access token.                          │
│  BlueBubbles: iMessage via the BlueBubbles mac app + REST API.                          │
│  Zalo: Vietnam-focused messaging platform with Bot API.                                 │
│  Zalo Personal: Zalo personal account via QR code login.                                │
│  Synology Chat: Connect your Synology NAS Chat to OpenClaw                              │
│  Tlon: Decentralized messaging on Urbit                                                 │
│  Nostr: Decentralized DMs via Nostr relays (NIP-04)│  Twitch: Twitch chat integration                                                        │
│                                                                                         │
├─────────────────────────────────────────────────────────────────────────────────────────╯
◇  Select a channel
│  Matrix (plugin)
◇  Channel setup ─────────────────────────────╮
│                                             │
│  matrix does not support guided setup yet.  │
│                                             │
├─────────────────────────────────────────────╯

Impact and severity

Affected: people who want to be Matrix users Severity: blocks workflow Frequency: always Consequence: failed onboarding

Additional information

No response

extent analysis

TL;DR

The guided setup for the Matrix channel in OpenClaw is currently not supported, resulting in a "matrix does not support guided setup yet" error.

Guidance

  • The error message suggests that the Matrix plugin does not support guided setup, which was previously available.
  • To mitigate this issue, users may need to manually configure their Matrix homeserver and access token.
  • The OpenClaw documentation or Matrix plugin documentation may provide additional information on how to manually configure the Matrix channel.
  • It is recommended to check the OpenClaw and Matrix plugin versions for any updates or patches that may address this issue.

Example

No code snippet is provided as the issue is related to a specific plugin and configuration.

Notes

The issue seems to be specific to the Matrix plugin in OpenClaw, and the error message suggests that guided setup is not currently supported. Without further information or updates to the plugin, manual configuration may be the only workaround.

Recommendation

Apply workaround: Manually configure the Matrix homeserver and access token, and check the OpenClaw and Matrix plugin documentation for any additional guidance or updates.

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

The guided setup from before the plugin rewrite, with inputing the homeserver, username, password/token.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING