Bug Description
After upgrading to v4.11, memory vector search is completely degraded. Every memory write produces: chunks written for <file> without vector embeddings — chunks_vec not updated (sqlite-vec unavailable).
Environment
- OS: Ubuntu (Linux 6.17)
- Node.js: v22.22.2
- OpenClaw: v2026.4.11
- SQLite version: 3.51.3 (via
better-sqlite3)
- sqlite-vec precompiled binary: 0.1.9 (linux-x64, compiled for SQLite 3.45.x)
Steps to Reproduce
- Install openclaw v4.11
- Trigger any memory write
- Warning:
sqlite-vec unavailable
chunks_vec table is never created
Root Cause
The sqlite-vec precompiled linux-x64 binary is compiled against SQLite 3.45.x, but OpenClaw binds SQLite 3.51.3 via better-sqlite3. ABI version mismatch causes the extension to load without errors but register no functions.
Confirmed:
SELECT sqlite_version() → 3.51.3
loadExtension(..., sqlite3_vec_init) → succeeds
SELECT vec0_version() → no such function: vec0_version
Impact
- Vector search completely broken
- Semantic memory search degraded to keyword-only FTS
Suggested Fix
Rebuild sqlite-vec from source against SQLite 3.51.x, or pin better-sqlite3 to use SQLite 3.45.x.
Version: [email protected]
Bug Description
After upgrading to v4.11, memory vector search is completely degraded. Every memory write produces:
chunks written for <file> without vector embeddings — chunks_vec not updated (sqlite-vec unavailable).Environment
better-sqlite3)Steps to Reproduce
sqlite-vec unavailablechunks_vectable is never createdRoot Cause
The sqlite-vec precompiled linux-x64 binary is compiled against SQLite 3.45.x, but OpenClaw binds SQLite 3.51.3 via
better-sqlite3. ABI version mismatch causes the extension to load without errors but register no functions.Confirmed:
SELECT sqlite_version()→3.51.3loadExtension(..., sqlite3_vec_init)→ succeedsSELECT vec0_version()→no such function: vec0_versionImpact
Suggested Fix
Rebuild sqlite-vec from source against SQLite 3.51.x, or pin
better-sqlite3to use SQLite 3.45.x.Version: [email protected]