Delete Memory Entry
vault_delete_memoryDelete a single dated entry from an Obsidian memory file in About Me/ to remove a mistake or prune an expired entry from a living-policy file.
Instructions
Delete a single dated entry from a memory file in About Me/.
Example: vault_delete_memory({ file: "Opinions", section: "Tools and workflows (newest first)", date: "2026-05-01", entry: "Prefer X over Y" }) Example: vault_delete_memory({ file: "Routines", section: "Daily/weekly rhythm (newest first)", date: "2026-03-10", entry: "Gym Tue/Thu at 7am" }) — prune an expired entry from an entry-policy: living file
When to use: Removing an entry that was wrong when it was written — a mistake, a misattribution, or something never true. Memory files are append-only by default, so do NOT delete to reflect a change: append the new state via vault_update_memory instead (newest-first naturally supersedes). The exception is a file whose frontmatter declares entry-policy: living (check via vault_list_memory_files) — a current-state file where deleting an expired entry is the intended maintenance. Call vault_get_memory(file, section) first to see exact entry text for matching.
Prefer vault_delete_note for deleting entire non-protected notes.
Parameters:
date + entry together pick the bullet line within the given section; identical copies make the match ambiguous.
section scopes the match — an identical entry under a different heading is not found.
Errors:
"memory file not found" — file does not exist in About Me/; call vault_list_memory_files to discover valid names.
"memory file must not start with a dot" / "memory file must be a bare name without path separators" / "memory file must be named without .md" — pass the file's bare name: no folder or slash, no leading dot, and no .md.
"date must be YYYY-MM-DD" — pass the entry's date exactly as the file shows it, zero-padded.
"section not found: …" — no H2 heading matches; the error lists the file's available sections
"no entry matching …" — no bullet matched the given date and entry text; verify exact text via vault_get_memory(file, section).
"ambiguous: N entries match …" — more than one identical bullet exists in the section. Remove the extra copy with vault_delete_span (pass first_match: true — identical lines make every anchor ambiguous) or a manual edit, then retry.
"refusing memory write: … would shrink content" — safety guard blocked a write that would remove more than half the file. Re-read with vault_get_memory to confirm current content; an entry that really is that large needs vault_delete_span or a manual edit.
"cannot read memory file …" — the file can't be read: check file against vault_list_memory_files (a name longer than the filesystem allows fails here); otherwise its permissions need the vault's owner
"ENAMETOOLONG: …", "EACCES: …" or another filesystem error code — the message says what to do
"memory file …: the note would open with a properties block …" — saving would turn the file's opening lines into a properties block the server can't keep; the error says how to avoid it
Returns: "Deleted entry from About Me/.md → ## ".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ISO YYYY-MM-DD date of the entry (e.g. "2026-05-01"). | |
| file | Yes | Memory file name without .md (e.g. "Principles"). Use the exact letter case. | |
| entry | Yes | Exact entry text, without the "- **YYYY-MM-DD**: " prefix or bullet. | |
| section | Yes | H2 section heading containing the entry. Matched case-insensitively, with or without the "(newest first)" suffix. |