openclaw - 💡(How to fix) Fix config.patch writes config correctly but SIGUSR1 restart overwrites it with stale snapshot

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 calling config.patch to update plugins.load.paths and plugins.entries, the openclaw.json file is correctly written, but the subsequent SIGUSR1 hot-restart overwrites the file with a stale in-memory config snapshot, losing all plugin changes.

Root Cause

After calling config.patch to update plugins.load.paths and plugins.entries, the openclaw.json file is correctly written, but the subsequent SIGUSR1 hot-restart overwrites the file with a stale in-memory config snapshot, losing all plugin changes.

Fix Action

Fix / Workaround

After calling config.patch to update plugins.load.paths and plugins.entries, the openclaw.json file is correctly written, but the subsequent SIGUSR1 hot-restart overwrites the file with a stale in-memory config snapshot, losing all plugin changes.

  1. Run OpenClaw 2026.3.13 on Windows 10 with only mx plugin configured
  2. Call gateway config.patch with plugins.load.paths and plugins.entries for memory-core and openclaw-mem0
  3. Confirm openclaw.json has the new config via config.get
  4. SIGUSR1 restart is triggered automatically
  5. After restart, config.get shows plugins.load.paths is back to empty array, plugins.entries only has mx
  6. Check filesystem: openclaw.json.bak has correct config, but openclaw.json has reverted

The config.patch write should persist across the SIGUSR1 restart. After restart, config.get should show the updated plugins configuration.

RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

After calling config.patch to update plugins.load.paths and plugins.entries, the openclaw.json file is correctly written, but the subsequent SIGUSR1 hot-restart overwrites the file with a stale in-memory config snapshot, losing all plugin changes.

Steps to reproduce

  1. Run OpenClaw 2026.3.13 on Windows 10 with only mx plugin configured
  2. Call gateway config.patch with plugins.load.paths and plugins.entries for memory-core and openclaw-mem0
  3. Confirm openclaw.json has the new config via config.get
  4. SIGUSR1 restart is triggered automatically
  5. After restart, config.get shows plugins.load.paths is back to empty array, plugins.entries only has mx
  6. Check filesystem: openclaw.json.bak has correct config, but openclaw.json has reverted

Expected behavior

The config.patch write should persist across the SIGUSR1 restart. After restart, config.get should show the updated plugins configuration.

Actual behavior

openclaw.json was correctly written with plugin config, then overwritten within 40 seconds by the SIGUSR1 restart. Evidence: openclaw.json.bak (13:54:19) has correct config with memory-core and openclaw-mem0, but openclaw.json (13:55:00) reverted to only mx plugin.

OpenClaw version

2026.3.13 (d587705)

Operating system

Windows 10 Pro (10.0.19044, x64)

Install method

No response

Model

midea-llm/glm-5

Provider / routing chain

openclaw gateway (local) -> midea-llm (OpenAI-compatible API)

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

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

The config.patch write should persist across the SIGUSR1 restart. After restart, config.get should show the updated plugins configuration.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING