Skip to content

[Bug]: Control UI/TUI can inject false "Bootstrap pending" wrapper even when workspace bootstrap is complete #70840

Description

@GSUCAS

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

In a workspace where BOOTSTRAP.md explicitly says bootstrap is complete, new turns/sessions in Control UI/TUI can still prepend a Bootstrap pending wrapper telling the agent to read and complete BOOTSTRAP.md before replying normally.

The false wrapper persists even after gateway restart and instance restart, and it appears to be injected upstream of the persisted session record.

Steps to reproduce

  1. Use a workspace with a valid BOOTSTRAP.md whose content explicitly states bootstrap is complete.
  2. Start a new session via /new or /reset (or open a fresh session in Control UI/TUI).
  3. Send a simple message.
  4. Observe that the inbound turn is prefixed with a block like:
[Bootstrap pending]
Please read BOOTSTRAP.md from the workspace and follow it before replying normally.
...
  1. Read BOOTSTRAP.md from the workspace and verify it says bootstrap is complete.
  2. Restart the gateway and repeat.
  3. Restart the instance and repeat.

Expected behavior

If workspace bootstrap is already complete, new sessions/turns should not receive a Bootstrap pending wrapper.

Actual behavior

Control UI/TUI keeps injecting the Bootstrap pending wrapper even though workspace bootstrap is already complete.

OpenClaw version

Observed on 2026.4.21 era runtime/builds (exact runtime should be confirmed from local status if needed).

Operating system

Linux (AWS Ubuntu host) in the reproduced instance.

Install method

npm

Model

gpt-5.4 runtime default in the affected instance.

Provider / routing chain

Webchat / Control UI / TUI surfaces in the reproduced case.

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Evidence chain from live investigation:

  • BOOTSTRAP.md in the workspace explicitly says: Workspace bootstrap is complete.
  • Required bootstrap context files (SOUL.md, USER.md, MEMORY.md, today/yesterday daily memory files) were present and readable.
  • The live config did not show obvious sessions or systemPromptReport keys driving this state.
  • Persisted session metadata for the current main-agent session did not contain an obvious bootstrap or pending flag.
  • Sample persisted session record looked normal (chatType: direct, normal origin metadata, normal session file path).
  • The false wrapper appeared with sender labels including openclaw-control-ui and openclaw-tui.
  • Gateway restart did not clear the problem.
  • Instance restart did not clear the problem.

This suggests the false wrapper is being injected earlier in the session-start/request path, likely in UI/runtime bootstrap handling rather than from workspace BOOTSTRAP.md or persisted session state.

Related but not identical public issues:

Impact and severity

High user-facing confusion. It makes every new turn/session look like bootstrap is incomplete when it is not, distorts the first user-visible reply contract, and can push agents into repetitive bootstrap handling loops.

Additional information

The issue seems especially visible because the injected wrapper is shown directly to the model/user, so affected users would likely notice immediately.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Fields

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions