openclaw - 💡(How to fix) Fix Gateway error notifications for benign failures (e.g. config.schema.lookup path not found) leak into Telegram chat [1 comments, 2 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#72271Fetched 2026-04-27 05:32:14
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Author
Timeline (top)
closed ×1commented ×1cross-referenced ×1

When the agent (or a tool call) triggers a config.schema.lookup for a non-existent path like models.thinking, OpenClaw broadcasts the failure as a Telegram notification:

⚠️ 🔌 Gateway: models.thinking failed

This appears in the middle of an active user conversation, disrupting the chat flow.

Error Message

  1. Noise vs signal: config.schema.lookup returning "path not found" is a normal diagnostic outcome, not a system failure. Treating it the same as a real gateway crash dilutes the value of error notifications.
  2. Conversation disruption: Users see cryptic internal error messages like Gateway: models.thinking failed that have nothing to do with their conversation. This is confusing and breaks the chat experience.
  • Error severity should be classified before broadcasting: debug → log only, warn → log only, error → notify channel, critical → notify + escalate. Add error severity classification before broadcasting gateway notifications to the active channel. Filter out config.schema.lookup "not found" responses and similar benign diagnostic failures.

Root Cause

When the agent (or a tool call) triggers a config.schema.lookup for a non-existent path like models.thinking, OpenClaw broadcasts the failure as a Telegram notification:

⚠️ 🔌 Gateway: models.thinking failed

This appears in the middle of an active user conversation, disrupting the chat flow.

Code Example

⚠️ 🔌 Gateway: models.thinking failed
RAW_BUFFERClick to expand / collapse

Description

When the agent (or a tool call) triggers a config.schema.lookup for a non-existent path like models.thinking, OpenClaw broadcasts the failure as a Telegram notification:

⚠️ 🔌 Gateway: models.thinking failed

This appears in the middle of an active user conversation, disrupting the chat flow.

Why this is a problem

  1. Noise vs signal: config.schema.lookup returning "path not found" is a normal diagnostic outcome, not a system failure. Treating it the same as a real gateway crash dilutes the value of error notifications.

  2. Conversation disruption: Users see cryptic internal error messages like Gateway: models.thinking failed that have nothing to do with their conversation. This is confusing and breaks the chat experience.

  3. Information leakage: Internal diagnostic paths (e.g. models.thinking) are exposed to end users who have no context for what they mean.

Expected behavior

  • Benign lookup failures (path not found, invalid schema path) should be logged at debug level, NOT broadcast to the active channel.
  • Only genuine system failures (gateway crash, provider auth failure, config corruption) should trigger user-visible notifications.
  • Error severity should be classified before broadcasting: debug → log only, warn → log only, error → notify channel, critical → notify + escalate.

Environment

  • OpenClaw 2026.4.24
  • Channel: Telegram
  • Trigger: gateway config.schema.lookup with non-existent path

Suggested fix

Add error severity classification before broadcasting gateway notifications to the active channel. Filter out config.schema.lookup "not found" responses and similar benign diagnostic failures.

Alternatively, add a config option to control gateway notification verbosity (e.g., gateway.notificationLevel: "errors" | "warnings" | "all").

extent analysis

TL;DR

Classify error severity before broadcasting gateway notifications to filter out benign diagnostic failures like "path not found" responses from config.schema.lookup.

Guidance

  • Introduce error severity classification (e.g., debug, warn, error, critical) to differentiate between benign lookup failures and genuine system failures.
  • Modify the notification system to only broadcast errors with a severity of error or critical to the active channel.
  • Consider adding a config option (e.g., gateway.notificationLevel) to control the verbosity of gateway notifications, allowing administrators to choose which types of errors to notify users about.
  • Review and update the logging configuration to ensure that benign lookup failures are logged at the debug level instead of being broadcast to the user.

Example

# Example of error severity classification
error_severity = {
    'debug': ['path not found', 'invalid schema path'],
    'error': ['gateway crash', 'provider auth failure'],
    'critical': ['config corruption']
}

def classify_error(error_message):
    for severity, keywords in error_severity.items():
        if any(keyword in error_message for keyword in keywords):
            return severity
    return 'unknown'

# Example of filtering out benign diagnostic failures
if classify_error(error_message) in ['error', 'critical']:
    # Broadcast notification to the active channel
else:
    # Log the error at the debug level

Notes

The suggested fix assumes that the config.schema.lookup failures are currently being broadcast due to a lack of error severity classification. The introduction of a config option to control notification verbosity can provide flexibility in managing which errors are notified to users.

Recommendation

Apply a workaround by introducing error severity classification and filtering out benign diagnostic failures, as this approach directly addresses the issue of noise vs signal and conversation disruption.

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

  • Benign lookup failures (path not found, invalid schema path) should be logged at debug level, NOT broadcast to the active channel.
  • Only genuine system failures (gateway crash, provider auth failure, config corruption) should trigger user-visible notifications.
  • Error severity should be classified before broadcasting: debug → log only, warn → log only, error → notify channel, critical → notify + escalate.

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 Gateway error notifications for benign failures (e.g. config.schema.lookup path not found) leak into Telegram chat [1 comments, 2 participants]