Problem
bm_edit returns "Failed to edit note... It may not exist" for notes that exist on disk but haven't been indexed by bm watch yet.
Reproduction
- Write a file directly to disk:
memory/2026-02-18.md
- Immediately call
bm_edit({ identifier: 'memory/2026-02-18', operation: 'append', content: '...' })
- Returns: "Failed to edit note 'memory/2026-02-18'. It may not exist."
- The file is on disk and readable via
cat
Root Cause
bm_edit looks up the note in the database (not the filesystem). If bm watch hasn't indexed it yet (see #15), the edit silently fails.
Impact
High. This breaks the natural write-then-edit workflow. The agent writes a daily note, then tries to append to it later — and can't, because the watcher is stale.
Workaround
Use the file-level Edit tool instead of bm_edit for notes written directly to disk. But this means the edit also won't be indexed until the watcher catches up.
Upstream Tracking (basic-memory)
Problem
bm_editreturns "Failed to edit note... It may not exist" for notes that exist on disk but haven't been indexed bybm watchyet.Reproduction
memory/2026-02-18.mdbm_edit({ identifier: 'memory/2026-02-18', operation: 'append', content: '...' })catRoot Cause
bm_editlooks up the note in the database (not the filesystem). Ifbm watchhasn't indexed it yet (see #15), the edit silently fails.Impact
High. This breaks the natural write-then-edit workflow. The agent writes a daily note, then tries to append to it later — and can't, because the watcher is stale.
Workaround
Use the file-level
Edittool instead ofbm_editfor notes written directly to disk. But this means the edit also won't be indexed until the watcher catches up.Upstream Tracking (basic-memory)