openclaw - 💡(How to fix) Fix Silent clean exit (code 0) when OPENCLAW_PLUGIN_STAGE_DIR is on NTFS bind-mounted volume — channels resolve as stopped with no error log [1 comments, 2 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#73099Fetched 2026-04-28 06:27:31
View on GitHub
Comments
1
Participants
2
Timeline
2
Reactions
0
Timeline (top)
closed ×1commented ×1

Error Message

OPENCLAW_PLUGIN_STAGE_DIR was pointing to a path inside a Windows NTFS bind-mounted volume. The plugin staging path performs npm installs, node_modules creation/rename, and symlink operations — all requiring POSIX filesystem behavior. NTFS-backed mounts break this silently, causing startAccount() to resolve cleanly with no exception or log output. When plugin stage-dir filesystem behavior breaks runtime dep loading, OpenClaw should log a loud, descriptive error rather than letting startAccount() resolve cleanly and channels silently become stopped.

Root Cause

Root cause OPENCLAW_PLUGIN_STAGE_DIR was pointing to a path inside a Windows NTFS bind-mounted volume. The plugin staging path performs npm installs, node_modules creation/rename, and symlink operations — all requiring POSIX filesystem behavior. NTFS-backed mounts break this silently, causing startAccount() to resolve cleanly with no exception or log output.

RAW_BUFFERClick to expand / collapse

Environment

  • OpenClaw: v2026.4.25
  • Node: 24.14.0
  • Docker: Linux container on Windows 11 host (Hyper-V)
  • Plugins: whatsapp, telegram, acpx, browser, memory-core, memory-wiki, webhooks

Symptom Gateway boots to ready state (all plugins loaded), then dies silently after: [gateway/hooks] loaded 4 internal hook handlers Exit code 0. No channel logs appear. All channels report reason: stopped via health monitor. Node process exits cleanly (pgrep node returns empty).

Root cause OPENCLAW_PLUGIN_STAGE_DIR was pointing to a path inside a Windows NTFS bind-mounted volume. The plugin staging path performs npm installs, node_modules creation/rename, and symlink operations — all requiring POSIX filesystem behavior. NTFS-backed mounts break this silently, causing startAccount() to resolve cleanly with no exception or log output.

Confirmed via

  • OPENCLAW_SKIP_CHANNELS=1 boots cleanly — failure is in channel startup
  • OPENCLAW_PLUGIN_STAGE_DIR=/tmp/fresh-dir — channels connect successfully
  • OPENCLAW_PLUGIN_STAGE_DIR pointing to NTFS bind-mounted path (even a fresh subdirectory) — reproduces the silent exit every time

Fix Move OPENCLAW_PLUGIN_STAGE_DIR to a Docker-managed named volume (Linux filesystem). Gateway boots cleanly, channels start, dep staging works correctly.

Expected behavior When plugin stage-dir filesystem behavior breaks runtime dep loading, OpenClaw should log a loud, descriptive error rather than letting startAccount() resolve cleanly and channels silently become stopped.

extent analysis

TL;DR

Move the OPENCLAW_PLUGIN_STAGE_DIR to a Docker-managed named volume with a Linux filesystem to resolve the silent exit issue.

Guidance

  • Verify that the OPENCLAW_PLUGIN_STAGE_DIR is currently pointing to a path inside a Windows NTFS bind-mounted volume, which is causing the issue due to its lack of POSIX filesystem behavior.
  • Test the fix by setting OPENCLAW_PLUGIN_STAGE_DIR to a temporary directory like /tmp/fresh-dir to confirm that the issue is resolved.
  • Create a Docker-managed named volume with a Linux filesystem and update the OPENCLAW_PLUGIN_STAGE_DIR to point to this new volume.
  • Monitor the gateway logs to ensure that the issue is resolved and channels are starting correctly.

Example

No code snippet is necessary in this case, as the fix involves a configuration change rather than a code modification.

Notes

This fix assumes that the issue is caused by the OPENCLAW_PLUGIN_STAGE_DIR being on an NTFS bind-mounted volume, which is not compatible with the required POSIX filesystem behavior. If the issue persists after applying this fix, further investigation may be necessary.

Recommendation

Apply the workaround by moving the OPENCLAW_PLUGIN_STAGE_DIR to a Docker-managed named volume with a Linux filesystem, as this has been confirmed to resolve the issue.

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