Skip to content

Memory Search FTS5 unavailable on Windows due to node:sqlite missing FTS5 module #50453

@kakabai

Description

@kakabai

Problem

On Windows, the Memory Search FTS5 (Full-Text Search) feature is unavailable because Node.js precompiled binaries for Windows do not include the FTS5 module in node:sqlite.

Investigation

Node.js Source Configuration

Node.js sqlite.gyp includes SQLITE_ENABLE_FTS5:

'SQLITE_ENABLE_FTS5',
'SQLITE_ENABLE_FTS3',

Windows Precompiled Binary

Testing on Node.js v22.14.0 (Windows):

SQLite Version: 3.47.2
FTS3 enabled: NO
FTS5 enabled: NO
Total compile options: 41
FTS5 test: FAILED - "no such module: fts5"

OpenClaw Memory Status

openclaw memory status --deep
...
FTS: unavailable
FTS error: no such module: fts5

better-sqlite3 Test

Installed better-sqlite3 and tested:

SQLite Version: 3.51.3
FTS5 support: YES

better-sqlite3 CAN read OpenClaw's memory database and supports FTS5.

Impact

  • Vector search works correctly ✅
  • FTS (Full-Text Search) is unavailable ❌
  • Hybrid search mode falls back to vector-only

Environment

  • OS: Windows 11 (NT 10.0.26200)
  • Node.js: v22.14.0
  • OpenClaw: 2026.3.11

Suggested Solutions

  1. Add better-sqlite3 backend option: Allow users to configure OpenClaw to use better-sqlite3 instead of node:sqlite, which includes FTS5 by default.

  2. Fallback detection: Detect when FTS5 is unavailable and provide a clear warning with suggested actions.

  3. Documentation update: Document this Windows limitation and provide installation instructions for better-sqlite3 as an alternative.

Workaround

Current workaround options:

  • Use QMD backend (memory.backend = "qmd")
  • Accept vector-only search (current behavior)

Related

  • Node.js issue: Windows precompiled binaries don't match source configuration for SQLite extensions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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