obsidian_property_set
Set or update a frontmatter property in an Obsidian note by specifying property name, value, and optional type (text, list, number, checkbox, date, datetime). Target notes by file name or exact path.
Instructions
Set a frontmatter property on a note.
Parameters: name (required) — property name value (required) — property value (see type for multi-valued props) type (optional) — property type: text (default) | list | number | checkbox | date | datetime file (optional) — note name (wikilink resolution) path (optional) — exact file path One of file or path is required.
Multi-valued properties (tags, aliases, Links, etc.): You MUST pass type="list" AND a JSON-array string as value. Without type="list" the value is written as a single scalar string — a comma-separated value is NOT split into YAML list items, and bracketed wikilinks are never split. Use a JSON array universally; it is unambiguous for both plain strings and wikilinks.
Examples: obsidian_property_set({ name: "status", value: "done", file: "My Task" }) obsidian_property_set({ name: "tags", value: "["project", "active"]", type: "list", path: "Work/todo.md" }) obsidian_property_set({ name: "Links", value: "["[[plan]]", "[[baseline]]"]", type: "list", file: "My Task" })
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | File name | |
| name | Yes | Property name | |
| path | No | File path | |
| type | No | Property type. Use "list" for multi-valued props (tags/aliases/Links) with a JSON-array value; omitting it writes a scalar string | |
| value | Yes | Property value. For type="list", pass a JSON-array string, e.g. '["a", "b"]' |