Skip to content

QMD boot update fails with large indexes: output exceeds 200K char limit #24966

@rex05ai

Description

@rex05ai

Description

When the gateway starts/restarts, it runs qmd update to sync the semantic search index. For installations with large indexes (8,000+ files across multiple collections), the command output exceeds the hardcoded 200,000 character buffer limit, causing the boot sync to fail silently every restart.

[memory] qmd boot update failed: Error: qmd update produced too much output (limit 200000 chars)

Environment

  • OpenClaw: 2026.2.22-2
  • QMD: latest (via bun)
  • Index: 8,308 files, 34,850 vectors across 7 collections
  • qmd update output: ~283K characters (exceeds 200K limit)

Collections indexed

  • WhatsApp archive (markdown)
  • Telegram archive (markdown)
  • Signal archive (markdown)
  • Workspace docs
  • Google Drive shared folder
  • Shared knowledge base
  • Apple Notes export (~1,689 notes)

Current behavior

  1. Every gateway restart triggers qmd update
  2. Output exceeds 200K char limit → boot sync fails
  3. Background 15-minute incremental sync eventually catches up (produces less output since only changes)
  4. Semantic search has stale results for ~15 minutes after every restart

Expected behavior

Boot sync should succeed regardless of index size. Possible fixes:

  1. Raise or remove the 200K output limit for boot update operations
  2. Add a --quiet or --summary-only flag to qmd update that suppresses per-file output and only shows the summary line
  3. Stream/discard stdout and only capture stderr for error detection (the gateway doesn't use the stdout content, it only needs to know success/failure)
  4. Allow configuring the output limit in memory.qmd.update config section (e.g. maxOutputChars)

Workaround

Accept the 15-minute gap. The background memory.qmd.update.interval cycle produces incremental output well under the limit and keeps the index current. Only the initial boot sync fails.

Impact

Low-medium. Semantic search works correctly 99% of the time. Only affects the first ~15 minutes after any gateway restart.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions