Skip to content

update_active_file

Replace the whole content of the note currently open in the live Obsidian session (write_note in overwrite mode, aimed at the active note). Overwriting a non-empty note requires human confirmation bound to the resolved note: a confirmation raised while one note was active cannot be redeemed once another is. Same prev_hash compare-and-swap, snapshot, memoryDefense and provenance rules as write_note; get_active_file returns the content_hash to pass as prev_hash. Refuses a non-markdown active file.

Domain workspace
Scopes write:notes
Access write
Tags writes, destructive, hitl, domain:workspace, plugin-bridge
Profile full only
Annotation Value
Read-only no
Destructive yes
Idempotent no
Accepts an idempotency key yes

Idempotent is the advisory MCP idempotentHint. Destructive is also yes for a tool that asks for confirmation only on some calls.

The handler asks for confirmation only when a call crosses a boundary (for example an overwrite, a folder-boundary crossing or a bulk-cost floor); other calls need none.

  • The confirmation binds to the vault paths the call names, which are also checked against the folder ACL.
Parameter Type Required Default Description
vault string — Vault id. May be omitted when only one vault is available. length 1–64; pattern ^[a-z0-9_-]+$
content string yes — —
prev_hash string — —
options object {} —
options.idempotency_key string — length 1–128
options.create_dirs boolean true —
elicit_token string — pattern ^[a-f0-9]{32}$
provenance enum "authored" One of: "authored", "agent_synthesis"
response_format enum — concise returns only the high-signal fields; detailed (the shipped default) returns the full payload. Errors and safety warnings are never trimmed. When omitted, the server’s tools.defaults.responseFormat applies. One of: "concise", "detailed"
verbosity enum — Legacy alias for response_format: terse = concise, full = detailed. One of: "full", "terse"
Field Type Always present Description
vault string yes —
path string yes —
created boolean —
mode_used enum One of: "create", "overwrite"
content_hash string yes —
prev_hash string | null —
bytes_written number —
quality_warning object | null —
quality_warning.flags string[] with parent —
quality_warning.computed_at number with parent —
poison_assessment object | null —
poison_assessment.risk enum with parent One of: "none", "suspect", "high"
poison_assessment.signals string[] with parent —
redactions integer range ≥ 0

Other tools in the workspace domain: add_bookmark, append_active_file, append_to_periodic_note, create_periodic_note, delete_active_file, find_or_create_periodic_note, get_active_file, get_periodic_note, list_bookmarks, list_periodic_notes, list_workspaces, open_workspace, patch_active_file, remove_bookmark, resolve_daily_note, save_workspace.

Back to the tool catalog.