Skip to content

[Bug]: Regression: async exec approval completion is persisted but not shown live in TUI or Control UI #40063

@LaskerSaw

Description

@LaskerSaw

Bug type

Regression (worked before, now fails)

Summary

After the latest update, approval-gated exec completions and assistant follow-up replies are persisted correctly, but they are not shown live in either the TUI or the
Control UI.

They only appear after a manual refresh:

  • TUI: Ctrl+T (reload history)
  • Control UI: browser refresh

This worked correctly before the latest update, so it looks like a regression.

Environment

  • OpenClaw
  • Surface(s): TUI + Control UI
  • Approval flow: exec approval via Control UI
  • OS: Ubuntu

Steps to reproduce

  1. Open the TUI and the Control UI.
  2. From the TUI, trigger a simple approval-gated exec command.
  3. Approve the exec request in the Control UI.
  4. Wait for the command to finish.

Example command:

printf 'hello from exec\n'                                                                                                                                                 

The same behavior reproduced with other trivial printf tests as well.

Expected behavior

The async completion message and assistant follow-up reply should appear live in both the TUI and Control UI without requiring a manual refresh/history reload.

Actual behavior

  • The exec completes successfully.
  • The system completion message and assistant follow-up reply are persisted.
  • The Control UI does not show the new messages live until the browser is refreshed.
  • The TUI does not show the new messages live until Ctrl+T is pressed (history reload).
  • If the TUI is exited and re-opened, the missing messages appear from history.

OpenClaw version

2026.3.7

Operating system

Ubuntu

Install method

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

This does not appear to be an exec failure:

  • the command runs successfully
  • the result is persisted
  • the missing part is live UI/session update

Because both TUI and Control UI show the messages after manual refresh, this seems more like an event propagation / live update regression than a persistence problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions