openclaw - 💡(How to fix) Fix Bug: Fallback models echo BOOT.md instructions instead of executing them [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#53732Fetched 2026-04-08 01:24:13
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants
RAW_BUFFERClick to expand / collapse

When the primary model is unavailable and a fallback model (e.g., Gemini-2.5-pro) takes over, it sometimes echoes the BOOT.md startup instructions verbatim to the user instead of executing them silently.

This exposes internal system prompts and provides a confusing user experience.

Propuestas de solución:

  1. Hacer las instrucciones de arranque agnósticas al modelo: Asegurarse de que el prompt de arranque sea compatible con todos los modelos configurados.
  2. Suprimir la respuesta: OpenClaw debería detectar si la respuesta del modelo es un eco literal de las instrucciones y suprimirla para que no llegue al usuario.

extent analysis

Fix Plan

To address the issue, we will implement the second proposed solution: Suprimir la respuesta (Suppress the response). We will modify the OpenClaw code to detect if the model's response is a literal echo of the startup instructions and suppress it.

Step-by-Step Solution

  • Modify the response processing function to compare the model's response with the startup instructions.
  • If the responses match, suppress the model's response to prevent it from being sent to the user.

Example Code

def process_response(model_response, startup_instructions):
    # Remove leading/trailing whitespace and compare responses
    if model_response.strip() == startup_instructions.strip():
        # Suppress the response if it matches the startup instructions
        return None
    else:
        # Return the response if it does not match
        return model_response

# Example usage:
startup_instructions = "BOOT.md startup instructions"
model_response = "BOOT.md startup instructions"

processed_response = process_response(model_response, startup_instructions)
if processed_response is None:
    print("Response suppressed")
else:
    print("Response:", processed_response)

Verification

To verify the fix, test the modified code with different model responses, including literal echoes of the startup instructions. The response should be suppressed when it matches the startup instructions, and the user should not receive the internal system prompts.

Extra Tips

  • Ensure that the comparison is case-sensitive and whitespace-sensitive to avoid false positives.
  • Consider logging the suppressed responses for debugging and monitoring purposes.

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