update_note_tool
Modify or replace existing note content in Obsidian. Use to programmatically update, append, or overwrite markdown files. Choose 'replace' for full updates or 'append' to add new content to the end of a note.
Instructions
Update the content of an existing note.
⚠️ IMPORTANT: By default, this REPLACES the entire note content.
Always read the note first if you need to preserve existing content.
When to use:
- Updating a note with completely new content (replace)
- Adding content to the end of a note (append)
- Programmatically modifying notes
When NOT to use:
- Making small edits (read first, then update with full content)
- Creating new notes (use create_note instead)
Returns:
Update status with path, metadata, and operation performed
Input Schema
Name | Required | Description | Default |
---|---|---|---|
content | Yes | New markdown content (REPLACES existing content unless using append) | |
create_if_not_exists | No | Create the note if it doesn't exist | |
ctx | No | ||
merge_strategy | No | How to handle content: 'replace' overwrites, 'append' adds to end | replace |
path | Yes | Path to the note to update |
Input Schema (JSON Schema)
{
"properties": {
"content": {
"description": "New markdown content (REPLACES existing content unless using append)",
"maxLength": 1000000,
"minLength": 0,
"title": "Content",
"type": "string"
},
"create_if_not_exists": {
"default": false,
"description": "Create the note if it doesn't exist",
"title": "Create If Not Exists",
"type": "boolean"
},
"ctx": {
"default": null,
"title": "Ctx"
},
"merge_strategy": {
"default": "replace",
"description": "How to handle content: 'replace' overwrites, 'append' adds to end",
"enum": [
"replace",
"append"
],
"title": "Merge Strategy",
"type": "string"
},
"path": {
"description": "Path to the note to update",
"examples": [
"Daily/2024-01-15.md",
"Projects/Project.md"
],
"maxLength": 255,
"minLength": 1,
"pattern": "^[^/].*\\.md$",
"title": "Path",
"type": "string"
}
},
"required": [
"path",
"content"
],
"type": "object"
}