Write Note
vault_write_noteCreate a new markdown note in Obsidian vault. Overwrite existing note only when setting overwrite: true. Full body replacement; properties merge separately.
Instructions
Create a markdown note. Errors if a note already exists at the path unless overwrite is set. Body replaces the entire note content — this is a full write, not a partial edit. Properties are passed separately and merged with any existing properties when overwriting (new keys added, matching keys overwritten, keys set to null removed, unmentioned keys preserved).
Example: vault_write_note({ path: "Projects/notes.md", body: "# Notes\n\nProject notes here.", properties: { tags: ["project"], type: "project" } }) Example: vault_write_note({ path: "Projects/notes.md", body: "Updated content.", overwrite: true })
When to use: Creating a new note. Set overwrite: true only when you intend to replace an existing note's body. Prefer vault_update_properties for property-only edits (no body round-trip). Prefer vault_update_memory for appending dated entries to About Me/ memory files.
Limitation: Writes the entire body. Do not use for surgical edits to large files — existing content will be lost unless you include it in the body parameter.
Errors:
"note already exists" — a note already lives at this path; set overwrite: true to replace it, or use vault_patch_note / vault_replace_in_note for partial edits
"concurrent write in progress" — another write to this note is in flight; re-read the note and retry
Obsidian syntax: Body is Obsidian Flavored Markdown (no escaping applied). Watch for: #word = tag (escape with #), [[ = wikilink, %% = comment block. In properties: quote wikilink values ("[[Note]]"), use YAML lists for tags, keep property types consistent (string/number/list mismatches cause silent query failures).
Returns: Confirmation message.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Markdown body content — do not include frontmatter fences (---); use the properties parameter instead. | |
| path | Yes | Vault-relative path including the ".md" extension (e.g. "Projects/notes.md"). Parent folders are created as needed. | |
| overwrite | No | Allow overwriting an existing note (default: false — errors if file exists). | |
| properties | No | Optional properties to merge. New keys are added; existing keys with matching names are overwritten; a null value deletes that key; unmentioned keys are preserved from the existing file. |