QuickAdd CLI
QuickAdd now registers native Obsidian CLI handlers when your Obsidian version supports plugin CLI commands.
Requirements​
- Obsidian
1.12.2or newer (plugin CLI handler API introduced in1.12.2) - QuickAdd enabled in the target vault
Commands​
quickadd / quickadd:run​
Run a QuickAdd choice from the CLI.
obsidian vault=dev quickadd choice="Daily log"
obsidian vault=dev quickadd:run id="choice-id"
quickadd:list​
List all QuickAdd choices (including nested choices inside multis).
obsidian vault=dev quickadd:list
obsidian vault=dev quickadd:list type=Capture
obsidian vault=dev quickadd:list commands
quickadd:check​
Check which inputs are still missing before a non-interactive run.
obsidian vault=dev quickadd:check choice="Daily log"
The check command is flow-aware. For macros, it follows nested Template and Capture choices, reports missing inputs for the whole flow, and includes diagnostics in the JSON response:
diagnostics: runtime, nested-choice, and integration capability notes.flow.choices: choices included in the check, with path and depth.missingFlags: CLI flags you can pass to satisfy unresolved inputs.
Example response shape:
{
"ok": false,
"command": "quickadd:check",
"requiredInputCount": 1,
"missingInputCount": 1,
"missingFlags": ["value-project=<value>"],
"diagnostics": [
{
"severity": "error",
"code": "missing-required-inputs",
"source": "runtime",
"message": "1 required input(s) are missing for this flow."
}
],
"flow": {
"choiceCount": 2,
"choices": [
{
"id": "macro-choice-id",
"name": "Daily log",
"type": "Macro",
"path": "Daily log",
"depth": 0
},
{
"id": "capture-choice-id",
"name": "Capture project",
"type": "Capture",
"path": "Daily log / Capture project",
"depth": 1
}
]
}
}
Passing variables​
QuickAdd CLI supports three variable patterns:
value-<name>=...(URI-compatible)- extra
key=valueargs vars=<json-object>for structured values
Examples:
obsidian vault=dev quickadd \
choice="Daily log" \
value-project="QuickAdd" \
mood="focused"
obsidian vault=dev quickadd \
choice="Daily log" \
vars='{"project":"QuickAdd","sprint":42}'
Non-interactive behavior​
By default, quickadd and quickadd:run are non-interactive. If QuickAdd
detects missing inputs, it returns a JSON payload with missing fields and
missingFlags suggestions instead of opening prompts.
Use ui to allow interactive prompts:
obsidian vault=dev quickadd choice="Daily log" ui