openclaw - 💡(How to fix) Fix WebChat main conversation context can disappear after restart/abort; transcript only recoverable from .jsonl.reset files

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…

After upgrading OpenClaw during the 2026.5.x series, the main WebChat/dashboard conversation sometimes loses visible prior context without warning. The underlying transcript is often still present in local session persistence files (including .jsonl.reset.*), but the active WebChat session no longer shows/uses that previous conversation context.

In the same period, the Gateway also appears to restart unexpectedly. Sometimes the main conversation survives the restart; other times it comes back as a shorter/new branch and the prior content is only recoverable from local session files.

Error Message

2026-05-25T00:47:29.314Z ERROR CRON enrich.py killed by OOM (exit 137) at 2026-05-25 00:45 UTC 2026-05-25T01:17:34.038Z WARN CRON enrich.py killed (exit 137) at 2026-05-25 09:15 BJT - possible OOM or timeout I intentionally did not include private transcript content. Evidence above is limited to version, uptime, session IDs, file names, counts of error markers, and non-sensitive log snippets.

Root Cause

After upgrading OpenClaw during the 2026.5.x series, the main WebChat/dashboard conversation sometimes loses visible prior context without warning. The underlying transcript is often still present in local session persistence files (including .jsonl.reset.*), but the active WebChat session no longer shows/uses that previous conversation context.

In the same period, the Gateway also appears to restart unexpectedly. Sometimes the main conversation survives the restart; other times it comes back as a shorter/new branch and the prior content is only recoverable from local session files.

Code Example

OpenClaw 2026.5.22 (a374c3a)
Uptime: gateway 15m 43s · system 5h
Session: agent:main:dashboard:a9153e3d-1548-4e9b-81d9-8c4fbbb553b0
Context: 44k/200k (22%) · Compactions: 0

---

2026-05-13 ... 4e716def-e555-4bd1-a167-305532883bb7.jsonl.reset.2026-05-13T04-00-05.589Z
2026-05-14 ... a99ef407-b412-4bc0-9d4b-9504bbccb071.jsonl.reset.2026-05-14T04-09-09.371Z
2026-05-15 ... 55129f42-5447-4c63-b024-0de360c49f70.jsonl.reset.2026-05-15T04-24-52.099Z
2026-05-18 ... 1089bfef-a4d5-4d4f-9ec2-02568d0f3560.jsonl.reset.2026-05-18T04-01-16.630Z
2026-05-19 ... 55ffbe5f-d412-4975-a6cb-04397030a67d.jsonl.reset.2026-05-19T04-01-44.476Z
2026-05-20 ... 7584a578-8f55-43ee-ab47-8279c0ffe65b.jsonl.reset.2026-05-20T04-52-09.278Z
2026-05-20 ... b912f326-ada5-43e0-82ae-2fb8869bbf90.jsonl.reset.2026-05-20T04-32-36.751Z
2026-05-21 ... b8ba1cf8-f331-4341-9765-57f2b449173e.jsonl.reset.2026-05-21T04-03-56.286Z
2026-05-22 ... 717a7a10-ad29-4b0f-8ac7-04d65df960fc.jsonl.reset.2026-05-22T04-05-46.338Z
2026-05-25 ... 941a9ee4-325d-4cbf-a759-3a2964fa389b.jsonl.reset.2026-05-25T00-34-13.592Z
2026-05-25 ... b6a6a5d3-3029-40c6-8386-7b0322879c9c.jsonl.reset.2026-05-25T04-15-40.374Z

---

2026-05-25 05:33:01 9af05f79-6ecb-413e-b306-76dc310ba6be.trajectory.jsonl size=2793068 failed_before=2 aborted=20 missing_tool=25
2026-05-25 05:33:27 9af05f79-6ecb-413e-b306-76dc310ba6be.jsonl size=601703 failed_before=55 aborted=18 missing_tool=12

---

2026-05-25T00:47:29.314Z ERROR CRON enrich.py killed by OOM (exit 137) at 2026-05-25 00:45 UTC
2026-05-25T01:17:34.038Z WARN  CRON enrich.py killed (exit 137) at 2026-05-25 09:15 BJT - possible OOM or timeout

---

{
  "kind": "gateway-supervisor-restart-handoff",
  "version": 1,
  "reason": "update.run",
  "source": "gateway-update",
  "restartKind": "update-process",
  "supervisorMode": "systemd"
}
RAW_BUFFERClick to expand / collapse

Summary

After upgrading OpenClaw during the 2026.5.x series, the main WebChat/dashboard conversation sometimes loses visible prior context without warning. The underlying transcript is often still present in local session persistence files (including .jsonl.reset.*), but the active WebChat session no longer shows/uses that previous conversation context.

In the same period, the Gateway also appears to restart unexpectedly. Sometimes the main conversation survives the restart; other times it comes back as a shorter/new branch and the prior content is only recoverable from local session files.

Environment

  • OpenClaw: 2026.5.22 (a374c3a)
  • Runtime surface: WebChat direct conversation / dashboard session
  • Current session key when observed: agent:main:dashboard:a9153e3d-1548-4e9b-81d9-8c4fbbb553b0
  • Host OS: Linux 6.8.0-117-generic x64
  • Node: v22.22.2
  • Gateway supervisor mode seen in handoff file: systemd

Symptoms

  1. Main WebChat conversation content disappears with no explicit user action.
  2. The assistant's immediate context no longer contains the previous conversation.
  3. Prior content can still be recovered from local session persistence files, especially .jsonl.reset.* files.
  4. Gateway uptime can be short after an unexpected return/restart; sometimes conversation is restored, sometimes it is not.
  5. Session files show repeated failed/aborted turns and missing tool-result repair messages.

Non-private evidence collected

1. Gateway status shortly after observation

session_status reported:

OpenClaw 2026.5.22 (a374c3a)
Uptime: gateway 15m 43s · system 5h
Session: agent:main:dashboard:a9153e3d-1548-4e9b-81d9-8c4fbbb553b0
Context: 44k/200k (22%) · Compactions: 0

The short Gateway uptime matches the user's report of unexpected Gateway restarts.

2. Reset transcript files exist for multiple days

Local session persistence contains reset files, including:

2026-05-13 ... 4e716def-e555-4bd1-a167-305532883bb7.jsonl.reset.2026-05-13T04-00-05.589Z
2026-05-14 ... a99ef407-b412-4bc0-9d4b-9504bbccb071.jsonl.reset.2026-05-14T04-09-09.371Z
2026-05-15 ... 55129f42-5447-4c63-b024-0de360c49f70.jsonl.reset.2026-05-15T04-24-52.099Z
2026-05-18 ... 1089bfef-a4d5-4d4f-9ec2-02568d0f3560.jsonl.reset.2026-05-18T04-01-16.630Z
2026-05-19 ... 55ffbe5f-d412-4975-a6cb-04397030a67d.jsonl.reset.2026-05-19T04-01-44.476Z
2026-05-20 ... 7584a578-8f55-43ee-ab47-8279c0ffe65b.jsonl.reset.2026-05-20T04-52-09.278Z
2026-05-20 ... b912f326-ada5-43e0-82ae-2fb8869bbf90.jsonl.reset.2026-05-20T04-32-36.751Z
2026-05-21 ... b8ba1cf8-f331-4341-9765-57f2b449173e.jsonl.reset.2026-05-21T04-03-56.286Z
2026-05-22 ... 717a7a10-ad29-4b0f-8ac7-04d65df960fc.jsonl.reset.2026-05-22T04-05-46.338Z
2026-05-25 ... 941a9ee4-325d-4cbf-a759-3a2964fa389b.jsonl.reset.2026-05-25T00-34-13.592Z
2026-05-25 ... b6a6a5d3-3029-40c6-8386-7b0322879c9c.jsonl.reset.2026-05-25T04-15-40.374Z

One of the 2026-05-25 .jsonl.reset.* files contained the previous main conversation that was no longer visible/available in the active WebChat conversation.

3. Aborted / failed turns in session files

Counting only non-private markers in today's session files produced examples such as:

2026-05-25 05:33:01 9af05f79-6ecb-413e-b306-76dc310ba6be.trajectory.jsonl size=2793068 failed_before=2 aborted=20 missing_tool=25
2026-05-25 05:33:27 9af05f79-6ecb-413e-b306-76dc310ba6be.jsonl size=601703 failed_before=55 aborted=18 missing_tool=12

Many smaller session files from the same period each contained at least one [assistant turn failed before producing content] marker.

4. Runtime/OOM evidence near same day

The local runtime log contains OOM/exit-137 evidence from cron work on the same day:

2026-05-25T00:47:29.314Z ERROR CRON enrich.py killed by OOM (exit 137) at 2026-05-25 00:45 UTC
2026-05-25T01:17:34.038Z WARN  CRON enrich.py killed (exit 137) at 2026-05-25 09:15 BJT - possible OOM or timeout

This may or may not be directly related, but it suggests process pressure around the same time window.

5. Restart handoff evidence

A local Gateway supervisor handoff file was present:

{
  "kind": "gateway-supervisor-restart-handoff",
  "version": 1,
  "reason": "update.run",
  "source": "gateway-update",
  "restartKind": "update-process",
  "supervisorMode": "systemd"
}

During the upgrade, gateway update.run appeared not to complete the upgrade; a manual npm install -g openclaw@latest was then used, followed by Gateway restart. There was a point where the restart appeared to happen before the npm install had completed, and the Gateway initially came back on the previous version before later confirming 2026.5.22.

Expected behavior

  • Gateway restarts should not cause the main WebChat/dashboard conversation to silently lose visible/history context.
  • If a reset/compaction/recovery is performed, the UI/session should either:
    • restore the previous conversation reliably, or
    • clearly inform the user that a new session/branch was created and provide a way to recover/open the previous transcript.
  • Failed/aborted assistant turns should not silently strand the user on a new context branch when the durable transcript still exists.

Actual behavior

  • After restart/abort/reset events, the active WebChat conversation can return with prior messages missing from the visible/current context.
  • The previous content is recoverable from local .jsonl.reset.* files, suggesting persistence is not completely lost, but the active session/UI/context restoration path breaks.

Suggested investigation areas

  • WebChat/dashboard session-key restoration after Gateway restart.
  • Conditions that create .jsonl.reset.* files and whether the active dashboard session is updated to point to the reset/recovered transcript.
  • Handling of [assistant turn failed before producing content], Request was aborted, and missing tool-result repair paths.
  • Interaction between Gateway restarts during update.run / manual npm upgrade and session restoration.
  • Whether OOM/exit-137 cron workload can destabilize Gateway or trigger request aborts that lead to session reset.

Privacy note

I intentionally did not include private transcript content. Evidence above is limited to version, uptime, session IDs, file names, counts of error markers, and non-sensitive log snippets.

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

  • Gateway restarts should not cause the main WebChat/dashboard conversation to silently lose visible/history context.
  • If a reset/compaction/recovery is performed, the UI/session should either:
    • restore the previous conversation reliably, or
    • clearly inform the user that a new session/branch was created and provide a way to recover/open the previous transcript.
  • Failed/aborted assistant turns should not silently strand the user on a new context branch when the durable transcript still exists.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING