Write Note
write_noteReplace a note's entire content, or create the note if it does not exist. Saves, indexes for search, and syncs to Obsidian. Overwrites whatever the note held. To add text without touching existing content use append_to_note. To change one passage, or one heading's section, use edit_note. To create a note with no risk of overwriting an existing one use create_note; create_note takes a title and picks the folder, not a path. Replacing a note that exists REQUIRES base_hash: read it with get_notes and pass its content_hash. Without one, or if the note changed since your read, nothing is written and you get a version_conflict, so another client's edit is never erased.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full path for the note (e.g. "Health/New Note.md") | |
| content | Yes | Full markdown content | |
| vault_id | No | Target vault: its name (e.g. "Engram") or its UUID. REQUIRED when you own more than one vault; the server keeps no active-vault state between calls, so it must be passed on every vault-scoped call. Omit only if you have a single vault. Call list_vaults if a name does not resolve. | |
| base_hash | No | content_hash from your get_notes read of this note. Required when the note exists; omit only to create a new note. If the note changed since, nothing is written and you get a version_conflict: read it again and retry. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| search_note | No | When search will see this change; use get_notes until then | |
| search_indexing_starts_in_seconds | No | At least this many seconds until indexing starts; search can lag further. Use get_notes to read the note until search finds it |