openclaw - 💡(How to fix) Fix Add `showPrompt` to heartbeat visibility config [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#63260Fetched 2026-04-09 07:56:10
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

Fix Action

Workaround

Use a minimal HEARTBEAT.md to reduce noise:

# HEARTBEAT.md
Run checks. Reply `HEARTBEAT_OK` if clear.

Code Example

# HEARTBEAT.md
Run checks. Reply `HEARTBEAT_OK` if clear.
RAW_BUFFERClick to expand / collapse

Feature Requests & Issues

OpenClaw Gateway: Add showPrompt to heartbeat visibility config

Status: Documented for upstream submission
Date: 2026-04-08
Reporter: Bill (via Karl)

Problem

The heartbeat system prompt ("Read HEARTBEAT.md if it exists...") is always displayed in Control UI chat, even when showOk: false is set. This creates noise — users see the full instruction text instead of just the agent's HEARTBEAT_OK response (or actual alert).

Current Behavior

  • heartbeat.visibility.showOk: false correctly hides HEARTBEAT_OK replies
  • But the user input message (the heartbeat prompt itself) is always visible
  • The prompt is injected as a "user" role message and returned unfiltered by chat.history

Expected Behavior

A showPrompt: false option (defaulting to false for webchat) that filters the heartbeat system prompt from Control UI display.

Proposed Fix

Add showPrompt to ChannelHeartbeatVisibilitySchema and filter at:

  1. chat.history handler — strip heartbeat user messages when showPrompt: false
  2. Event broadcast — don't send heartbeat "start" events to webchat when showPrompt: false

Relevant Files (source)

  • src/infra/heartbeat-visibility.ts — add showPrompt to visibility config
  • zod-schema.providers-core.ts — update ChannelHeartbeatVisibilitySchema
  • Gateway server chat.history handler — filter heartbeat user messages
  • Gateway server event broadcast — filter heartbeat events

Workaround

Use a minimal HEARTBEAT.md to reduce noise:

# HEARTBEAT.md
Run checks. Reply `HEARTBEAT_OK` if clear.

Priority

Low — workaround exists, but proper fix would improve UX.

extent analysis

TL;DR

Add a showPrompt option to the heartbeat visibility configuration to filter out the heartbeat system prompt from the Control UI display.

Guidance

  • Update the ChannelHeartbeatVisibilitySchema in zod-schema.providers-core.ts to include the showPrompt option.
  • Modify the chat.history handler in the Gateway server to strip heartbeat user messages when showPrompt is set to false.
  • Filter heartbeat "start" events to webchat when showPrompt is false in the Gateway server event broadcast.
  • Consider using a minimal HEARTBEAT.md file as a temporary workaround to reduce noise.

Example

// src/infra/heartbeat-visibility.ts
interface ChannelHeartbeatVisibility {
  showOk: boolean;
  showPrompt: boolean; // Add this line
}

Notes

The proposed fix requires updates to multiple files, including src/infra/heartbeat-visibility.ts, zod-schema.providers-core.ts, and the Gateway server code. The workaround using a minimal HEARTBEAT.md file can help reduce noise until the proper fix is implemented.

Recommendation

Apply the workaround by using a minimal HEARTBEAT.md file, as the priority of this issue is low and a proper fix would require updates to multiple files.

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 Add `showPrompt` to heartbeat visibility config [1 participants]