openclaw - 💡(How to fix) Fix 3 UX/config bugs: sentinel channel noise, model display regression, BOOT.md footer conflict [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#70296Fetched 2026-04-23 07:26:34
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Participants

Three separate issues discovered in production use, filing together for efficiency.


Root Cause

Three separate issues discovered in production use, filing together for efficiency.


Fix Action

Fix / Workaround

Behaviour: After every gateway restart, OpenClaw injects two lines into active channels before the boot confirmation:

  • Gateway restart config-patch ok
  • Run: openclaw doctor --non-interactive

Workaround: None currently. These lines always precede the boot confirmation on all channels.

RAW_BUFFERClick to expand / collapse

Summary

Three separate issues discovered in production use, filing together for efficiency.


Issue 1 — No config flag to suppress sentinel restart messages from reaching channels

Behaviour: After every gateway restart, OpenClaw injects two lines into active channels before the boot confirmation:

  • Gateway restart config-patch ok
  • Run: openclaw doctor --non-interactive

These come from the restart-sentinel system — not from BOOT.md. They appear in WhatsApp and Telegram on every restart, including routine maintenance restarts.

Expected: A config flag such as sentinel.suppressChannelNotify: true to prevent these lines from being delivered to end-user channels.

Workaround: None currently. These lines always precede the boot confirmation on all channels.

Confirmed: sentinel.suppressChannelNotify does not exist in the current config schema (verified 2026-04-13).


Issue 2 — Control UI model display reverts to "Not set" after saving

Behaviour: After saving a model selection in the Control UI dashboard (setting agents.defaults.model.primary and/or agents.list[0].model.primary), the UI displays the model field as "Not set" on the next page load, despite the config being correctly written and the model running as intended.

Expected: The UI should read back and display the currently active model correctly.

Impact: Cosmetic but causes confusion — users cannot confirm their model selection from the UI without checking the underlying config file or running session_status.

Note: The underlying model runs correctly. This is a UI read-back issue only.


Issue 3 — BOOT.md injected footer conflicts with protocol NO_REPLY behavior

Behaviour: The boot trigger injects a NO_REPLY footer into the session, while BOOT.md (workspace file) specifies NO_REPLY_NEEDED. These two tokens conflict, causing inconsistent silent-reply behavior — sometimes the agent emits a visible response when it should be silent, depending on which token is evaluated first.

Expected: The injected footer should either: (a) respect the protocol file's token rather than overriding it, or (b) be removed in favor of letting BOOT.md govern the behavior entirely.

Documented: 2026-04-13.


Environment

  • OpenClaw version: 2026.4.15 (041266a)
  • macOS Darwin arm64
  • Channels: Telegram + WhatsApp (Baileys)
  • Deployment: local LaunchAgent on port 18789

extent analysis

TL;DR

To address the issues, consider adding a config flag to suppress sentinel restart messages, fixing the Control UI model display to read back the active model correctly, and resolving the conflict between the injected footer and BOOT.md protocol token.

Guidance

  • For Issue 1, add a feature request to include a sentinel.suppressChannelNotify flag in the config schema to prevent unwanted restart messages from reaching channels.
  • For Issue 2, investigate the Control UI's model selection saving and loading logic to ensure it correctly reads back and displays the active model.
  • For Issue 3, modify the boot trigger to respect the protocol file's token (e.g., NO_REPLY_NEEDED) instead of injecting a conflicting NO_REPLY footer.

Example

No specific code snippet can be provided without modifying the existing codebase, but the fix for Issue 1 might involve adding a conditional check for the sentinel.suppressChannelNotify flag before sending restart messages to channels.

Notes

The provided information does not include the exact code or implementation details, so the suggested fixes are based on the expected behavior described in the issue.

Recommendation

Apply workarounds and fixes for each issue, as upgrading to a fixed version is not explicitly mentioned as an option. The reason is that the issues are specific and require targeted fixes rather than a general version upgrade.

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