The QuickAdd plugin is a game-changer for Obsidian users who crave efficiency and productivity. It combines four powerful tools - templates, captures, macros, and multis - to help you streamline your note-taking process. With QuickAdd, you can create custom workflows that automate tasks, such as creating new notes with pre-defined templates and content, adding links to specific files, or even chaining together multiple actions for complex workflows. The plugin's syntax is similar to Obsidian's template syntax, making it easy to customize and extend your workflow. Whether you're a power user or just looking to boost your productivity, QuickAdd is definitely worth exploring.
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)