2.12.0
✨ New Features
.base Templates Become Reusable QuickAdd Building Blocks
QuickAdd now supports .base files as first-class Template choices, which
opens up a much bigger workflow than “new file type supported.”
You can now:
- create real
.basefiles directly from Template choices - reuse
.basetemplates inside Capture formats to insert Base content into
the active Markdown note with{{TEMPLATE:...}} - insert live Base-powered sections into existing Markdown notes like MOCs,
dashboards, and project hubs
This is especially useful when you want to keep a reusable Base definition in
Templates/ and stamp it into the current note on demand. For example, you can
keep a Related Notes.base template and use a Capture choice to insert that
Base block into an MOC, so the query resolves in the context of the note you
are currently editing.
Example:
## Related Notes
```base
{{TEMPLATE:Templates/MOC Related Notes.base}}
```Important distinction:
- Template choices can create
.basefiles directly - Capture choices do not write directly to
.basefiles as
destinations - Capture choices can insert
.basetemplate content into Markdown
notes, which is the key workflow unlock here (#1122)
Capture Directly Into Canvas Cards
QuickAdd now supports two Canvas capture workflows:
- capture into one selected card in the active Canvas
- capture into a specific node inside a chosen
.canvasfile
Supported targets:
- text cards
- file cards that point to Markdown notes
To use it, either enable Capture to active file while a Canvas card is
selected, or, with Capture to active file off, point Capture To at a
.canvas file and choose Target canvas node. Canvas supports Top,
Bottom, and After line write modes. Cursor-based modes are still not
valid there, and QuickAdd now tells you exactly why if the current setup is
unsupported.
When QuickAdd updates a configured Canvas text node, it now preserves
Obsidian’s tab-indented .canvas formatting, reducing noisy
whitespace-only diffs. (#1124, #1125)
Run QuickAdd From The Obsidian CLI
QuickAdd now registers native Obsidian CLI handlers on supported Obsidian
versions, making shell scripts and automation workflows much cleaner.
New commands:
quickadd/quickadd:runquickadd:listquickadd:check
Examples:
obsidian vault=dev quickadd choice="Daily log"obsidian vault=dev quickadd:list type=Captureobsidian vault=dev quickadd:check choice="Daily log"
Variables can be passed with value-<name>=..., extra key=value params, or
vars='{"project":"QuickAdd"}'. By default, CLI runs are non-interactive: if
required inputs are missing, QuickAdd returns structured JSON instead of
opening prompts. Multi choices are still interactive and cannot be run or
checked via CLI, but quickadd:list includes nested choices inside multis.
Requires Obsidian 1.12.2+. (#1129)
VALUE Suggesters Can Show Friendly Labels While Inserting Different Values
{{VALUE:...}} option lists now support |text: so you can decouple what
users see in the suggester from what QuickAdd actually inserts.
Example:
{{VALUE:🔼,⏫,🔽,⏬|text:3-Normal,2-High,4-Low,1-Urgent}}
This is useful when you want readable labels in the picker but prefer compact
symbols, codes, or machine-friendly values in the final note. If you also use
|custom, custom typed input is inserted as-is. Current limitation: commas and
pipes inside individual labels/items are not supported yet. (#1127)
New Macro Cursor Navigation Commands
Macros now include four new editor commands:
- Move cursor to file start
- Move cursor to file end
- Move cursor to line start
- Move cursor to line end
These make editor automation easier to compose, especially when combined with
paste, selection, and formatting steps. (#1113)
AI Request Logs For Script Authors
If you build AI-powered QuickAdd workflows, quickAddApi.ai now exposes recent
in-memory request logs with request IDs, prompts, model info, duration, usage,
and errors.
New helpers:
getRequestLogs(limit?)getLastRequestLog()getRequestLogById(id)clearRequestLogs()
QuickAdd also reduces assistant progress-noise when assistant messages are
disabled. (#1110)
🐛 Bug Fixes
Template Destination Paths Are Now Predictable
When Create in folder is off, Template choices no longer duplicate folder
prefixes if your File name format already contains a vault-relative path.
This fixes notes being created in the wrong place when the formatted name was
already fully qualified. (#1118)
Insert-At-End Captures Preserve Spacing And Order
Repeated captures into the end of a section now behave correctly even when the
file ends with blank lines or the capture format does not end with a newline.
This fixes both collapsed spacing and out-of-order insertions. (#1119, #1120)
FIELD Suggestions Can Opt Into Inline Values Inside Specific Fenced Blocks
When inline scanning is enabled, QuickAdd can now include Dataview-style inline
fields from specific fenced block types that you explicitly allow, for example
{{FIELD:Id|inline:true|inline-code-blocks:ad-note}}. Default behavior is
unchanged unless you opt in. (#1128)
Capture Respects Explicit File Extensions
Capture now preserves explicit supported extensions like .md and .canvas,
normalizes titles properly for non-Markdown targets, and gives a clear error if
you try to use .base as a direct capture destination. (#1122)
Better Existing-Tab Matching
QuickAdd is now more reliable when reusing an already open tab for a file,
especially when equivalent paths differ slightly in shape or formatting.
(#1108)