openclaw - 💡(How to fix) Fix memory watch sync fails with fetch failed even when manual memory index succeeds with NODE_OPTIONS workaround [1 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#62069Fetched 2026-04-08 03:09:27
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Author
Participants
Timeline (top)
cross-referenced ×2

openclaw memory index --agent crack --force can succeed with NODE_OPTIONS=--no-network-family-autoselection, but the gateway watcher path still fails repeatedly with:

memory sync failed (watch): TypeError: fetch failed

Root Cause

openclaw memory index --agent crack --force can succeed with NODE_OPTIONS=--no-network-family-autoselection, but the gateway watcher path still fails repeatedly with:

memory sync failed (watch): TypeError: fetch failed

Fix Action

Fix / Workaround

Why this looks like a distinct bug

This is not just "memory index fails". The key divergence is:

  • manual index path can be stabilized with NODE_OPTIONS workaround,
  • watch sync path still fails under same effective environment.

So there may be a difference in runtime/fetch path, network dispatcher, or watcher execution context.

Request

Please help confirm whether watch sync uses a different fetch/runtime path than manual index, and whether the --no-network-family-autoselection workaround is bypassed or insufficient in watcher execution.

RAW_BUFFERClick to expand / collapse

Summary

openclaw memory index --agent crack --force can succeed with NODE_OPTIONS=--no-network-family-autoselection, but the gateway watcher path still fails repeatedly with:

memory sync failed (watch): TypeError: fetch failed

Environment

  • OpenClaw: 2026.4.5
  • Host: Debian/Linux x64
  • Embeddings provider: OpenRouter (provider=openai, remote.baseUrl=https://openrouter.ai/api/v1/)
  • Model: qwen/qwen3-embedding-8b

What is verified

  1. Retrieval works (memory_search returns docs content, including docs/README.md).
  2. Manual embeddings request works (direct POST to OpenRouter embeddings endpoint returns 200).
  3. Manual openclaw memory index --agent crack --force can complete when run with:
    • NODE_OPTIONS=--no-network-family-autoselection
  4. Gateway process was restarted with a systemd drop-in containing:
    • Environment=NODE_OPTIONS=--no-network-family-autoselection and process environment confirms NODE_OPTIONS is inherited.
  5. Despite that, watch/auto-sync still logs:
    • memory sync failed (watch): TypeError: fetch failed

Why this looks like a distinct bug

This is not just "memory index fails". The key divergence is:

  • manual index path can be stabilized with NODE_OPTIONS workaround,
  • watch sync path still fails under same effective environment.

So there may be a difference in runtime/fetch path, network dispatcher, or watcher execution context.

Related issues checked

  • #56427 (related but does not capture this manual-OK vs watch-KO divergence)
  • #56815 (related memory/index behavior)
  • #46685 (network/fetch guard context)

Request

Please help confirm whether watch sync uses a different fetch/runtime path than manual index, and whether the --no-network-family-autoselection workaround is bypassed or insufficient in watcher execution.

If useful, I can provide sanitized logs showing:

  • manual index success under NODE_OPTIONS,
  • concurrent watch failures with memory sync failed (watch): TypeError: fetch failed.

extent analysis

TL;DR

The --no-network-family-autoselection workaround may not be applied to the watcher execution context, causing the memory sync failed (watch): TypeError: fetch failed error.

Guidance

  • Verify that the NODE_OPTIONS environment variable is correctly inherited by the watcher process, potentially by logging or debugging the watcher's environment.
  • Investigate if the watcher uses a different fetch or runtime path than the manual index, which might bypass the --no-network-family-autoselection workaround.
  • Check the sanitized logs to confirm if the manual index success and watch failures are concurrent, which could indicate a difference in execution context.
  • Consider applying the --no-network-family-autoselection workaround directly to the watcher process or its execution context, if possible.

Example

No code snippet is provided as it is not clearly supported by the issue.

Notes

The issue lacks information about the watcher's implementation and execution context, making it difficult to provide a definitive solution. Further investigation is needed to confirm the root cause.

Recommendation

Apply workaround: The --no-network-family-autoselection workaround should be applied to the watcher process or its execution context, if possible, to potentially resolve the memory sync failed (watch): TypeError: fetch failed error.

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