Releases: chhoumann/quickadd
2.1.0
✨ AI Assistant: Model Directory, Provider Presets, and Responsive UI
Highlights
- Provider Presets: Add OpenAI, Gemini, Groq, Together, OpenRouter, etc. via a guided picker. Paste key → Connect.
- Model Directory: Browse and multi-select models from the public directory (models.dev). Import Add-only or Replace.
- Auto-sync Models: Toggle per provider + “Sync now” to keep model lists fresh.
- Responsive UI: Wider, mobile-friendly modals. Cleaner key input that won’t squish.
How to use
- Open Settings → QuickAdd → AI Assistant → “Edit Providers”.
- Click “Add Provider” to pick a preset (or add a custom one), paste your API key, and Connect.
- Click “Browse models” inside a provider to search and import models from models.dev.
- Optional: Enable Auto-sync and use “Sync now”.
Notes
- Gemini: we support
temperature
andtop_p
; frequency/presence penalties aren’t sent (avoids 400 errors). - Docs: See the updated guide: https://quickadd.obsidian.guide/docs/AIAssistant
Thanks
- Feature idea and validation: #731, and everyone who tested and shared feedback.
2.0.2
2.0.1
2.0.0
2.0.0 (2025-08-06)
🎯 Major Features
🔔 Capture Confirmation Notifications
Resolves: #180
QuickAdd now provides visual confirmation when content is captured, giving you immediate feedback on successful operations.
Example:
✓ Content captured to "Daily Notes/2024-01-15" under heading "## Ideas"
📋 Enhanced Clipboard Integration
Resolves: #88
New {{CLIPBOARD}}
format syntax allows you to directly insert clipboard content into your templates and captures.
Example:
## Research Notes
Source: {{CLIPBOARD}}
Date: {{DATE}}
E.g. when you have a URL copied, this automatically pastes it into your template.
📁 Enhanced File Opening Options
Resolves: #880
Templates and captures now support flexible file opening with configurable view modes and locations.
New Options:
- Open in new tab
- Open in new pane (vertical/horizontal split)
- Open in new window
- Open in source/preview/reading mode

🎲 Random Number Generator
New {{RANDOM:n}}
format syntax generates random alphanumeric strings of length n
.
Examples:
Random ID: note-{{RANDOM:10}}
📝 Rich Text Paste Command
Resolves: #869
New "Paste with format" command preserves rich formatting when pasting from external sources like web pages or documents.
Use Case:
Copy formatted text from a website → Run "Paste with format" → Maintains headings, bold, italic, and links
🔗 Configurable Link Placement
Resolves: #874
Control where links to created files appear relative to your cursor/selection:
- Replace selection - Replace the current text selection with the link (default)
- After selection - Insert the link after the current selection
- End of line - Insert the link at the end of the current line
- New line - Insert the link on a new line below

📂 Open File Command for Macros
Resolves: #871
New macro command to open any file in your vault programmatically.
Example Macro:
1. Create daily note from template
2. Open file: "Templates/Dashboard.md"
3. Run Obsidian command: "Split vertically"
🏷️ Enhanced Title Format Syntax
Resolves: #863
New {{title}}
format syntax provides the rendered filename without extension.
Example:
File: "2024-01-15 Meeting Notes.md"
Template: # {{title}}
Result: # 2024-01-15 Meeting Notes
📅 VDATE Improvements
Live Preview in VDATE Modal
Resolves: #796
See real-time preview of your date format as you type in the VDATE modal.

Default Values for VDATE
Resolves: #868
VDATE variables now support default values, reducing prompts for common dates.
Example:
{{VDATE:Meeting Date,YYYY-MM-DD|today}}
{{VDATE:Due Date,MMM Do|tomorrow}}
🔍 Enhanced Suggester API
Custom Input Support
Resolves: #879
Allow users to enter custom values in suggester prompts, not just predefined options.
Example:
const customTag = await this.quickAddApi.suggester(
["work", "personal", "urgent"],
["work", "personal", "urgent"],
"Select or enter a tag:",
true // allowCustomInput
);
Placeholder Support
Suggester now supports placeholder text for better UX.

🔧 User Script Management
Browse Button for Script Selection
Resolves: #842
Visual file browser for selecting user scripts instead of manual path entry.

🐛 Major Bug Fixes
Templater Integration Fixes
Resolves: #787, #793, #795, #801, #809
- Fixed Templater commands not executing with "Insert after" option
- Resolved tp.file.cursor() positioning issues
- Fixed tp.date.now and other date commands
- Templater commands now process before capture content is added
Example of fixed behavior:
<!-- Now works correctly: -->
<% tp.date.now("YYYY-MM-DD") %>
<% tp.file.cursor() %>
Tag Selection and Input Fixes
- Fixed double hashtag appearing in tag completion
- Resolved tag selection truncation in text input fields
- Tag hints now appear correctly when typing "#"
Insert After Priority Fix
"Insert After" now correctly prioritizes exact matches over prefix matches.
Fixed Example:
## Done ← No longer incorrectly matched
## Do ← Now correctly targeted when searching for "## Do"
Unicode Field Name Support
Resolves: #852
Fixed regression where non-ASCII characters in field names weren't recognized.
Now Working:
{{FIELD:经验归类}}
{{FIELD:תאריך}}
{{FIELD:Αρχή}}
Dynamic Choice Name Resolution
Resolves: #870
Macro lists now dynamically update when choice names are changed.
Empty String Variable Handling
Resolves: #872
Empty string variables no longer trigger unnecessary prompts.
Example:
// No longer prompts when value is ""
variables: { note: "" }
🏗️ Architecture Improvements
Simplified Macro Architecture
Breaking Change in #858 - No action required
Simplified how macros work to reduce complexity and clicks:
What changed:
- The separate "Macros Manager" has been removed
- Macros are now created and edited directly within their choices
- One less layer of indirection = fewer clicks to manage your macros
What stays the same:
- ✅ All your existing macros continue to work exactly as before
- ✅ Automatic migration handles everything for you
- ✅ No changes needed to your workflows
Only limitation:
Macros must now be attached to a choice in your QuickAdd menu (they can no longer exist as standalone items)
This happens automatically.
Why this change was made:
Previously, you had to: Create macro → Create macro choice → Link them together. Now you just create a macro choice with the macro built in. Simpler and faster!

Natural Language Date Processing
Replaced Natural Language Dates plugin dependency with chrono-node library for better reliability and performance.
Icon System Modernization
Resolves: #850
Replaced FontAwesome icons with Obsidian's built-in Lucide icons for consistency and smaller bundle size.
📚 Documentation Updates
Comprehensive User Scripts Documentation
Resolves: #881
New detailed guide for creating and using user scripts with QuickAdd.
Topics Covered:
- Script placement and organization
- API usage examples
- Common patterns and best practices
- Debugging techniques
Field Exclusion Filter Documentation
Resolves: #864
Documentation for excluding specific folders from FIELD checking.
Example:
{{FIELD:fieldname|exclude-folder:Templates|exclude-folder:Archive|exclude-folder:.trash}}
🎨 UI/UX Improvements
Consistent Modal Button Spacing
Resolves: #843
Improved visual consistency with proper gap spacing between modal buttons.
Notes
Bug Fixes
- commands now use updated choice settings without requiring toggle (#877) (3443a87), closes #192
- dynamically resolve choice names in macro lists (#870) (084d951), closes #152
- empty string variables no longer trigger prompts (#872) (717feef), closes #163
- prevent {{title}} usage in filenames to avoid circular dependency (8decab6)
- prioritize exact matches in Insert After functionality (#876) (6fccd33), closes #181
- process Templater commands in template before adding capture content (a261acb...
1.18.1
1.18.0
1.18.0
🚀 Browse Button for User Scripts
Adding user scripts to your macros just got easier! No more guessing file paths or typing them manually.
What's New
A new Browse button now appears when adding user scripts to macros. Click it to open a file picker and visually navigate to your script. The quick typing workflow is still there - this just gives you another option when you need it.
🔧 Bug Fixes & Improvements
No more double hashtags! Fixed an annoying bug where selecting tag completions would insert ##tag
instead of #tag
. Tag completion now works smoothly and predictably.
Cleaner UI spacing in modal buttons throughout the plugin for a more polished experience.
Modern icon system - Replaced FontAwesome icons with Obsidian's built-in Lucide icons, making QuickAdd more consistent with Obsidian's design language and reducing the plugin's footprint.
Thank you to everyone who reported issues and contributed to making QuickAdd better. Your feedback drives every improvement we make.
Full Changelog: 1.17.0...1.18.0
Report Issues: https://github.com/chhoumann/quickadd/issues
1.17.0
1.17.0 (2025-06-24)
🔍 Search Improvements
The new suggester needed refinement, and thanks to your feedback in issues #838 and #839, we've made it better.
What's New
Exact matches now always appear first. Type "TODO" and your TODO file shows up at the top, exactly where you'd expect it.
Your detailed bug reports help us build the search experience you deserve. We're committed to making QuickAdd amazing, so please keep the feedback coming - every issue report makes the plugin better for everyone.
Thank you for your continued testing and patience as we refine these features together.
If you're wondering how to best use the improved suggester system, please read the docs here.
Full Changelog: 1.16.0...1.17.0
Report Issues: https://github.com/chhoumann/quickadd/issues
1.16.1
1.16.0
QuickAdd Release Notes - Version 1.16.0
I'm thrilled to announce QuickAdd 1.16.0, featuring a complete redesign of the suggester system that capturing links and tags lightning-fast, and critical fixes for the Templater integration.
🚀 Complete Suggester System Redesign
The suggester system has been rebuilt from the ground up to deliver blazing-fast file search with rich context and improved accessibility.
It now also searches by heading, alias, and blocks which will help you find the exact file you're looking for.
When you use the heading link, it'll link directly to the heading.
File and Tag Search
-
Fuzzy search powered by Fuse.js finds what you're looking for, even with typos
-
Smart scoring prioritizes files based on:
- Same folder location (files in your current folder appear first)
- Recently accessed files (within the last day)
- Exact alias matches
- Shared tags with your current file
-
Heading suggestions - Type
#
to search through all headings in your vault -
Block reference suggestions - Type
#^
to find specific blocks -
Alias-first search - Files are now found by their aliases with higher priority
-
Relative path shortcuts - Use
./
and../
for quick navigation -
Rich visual indicators - Colored borders and status pills show file context at a glance
Improved format syntax writing experience
I've made major improvements to the experience of writing format syntax in the Capture template.
It no longer interrupts you, should be more robust, and is more 'intelligent'!
🔧 Critical Templater Integration Fixes
Fixed: Async Prompts Now Work Perfectly with "Create File If It Doesn't Exist"
Previously, when using Templater's tp.system.prompt()
with QuickAdd's "Create file if it doesn't exist" feature, template commands would remain unprocessed. This has been completely fixed!
Before:
<%* await tp.system.prompt("Enter date:") %> // Would show as raw code
Now:
2025-06-23 // Correctly processes the prompt and shows the result
Fixed: Double-Execution of Templater Commands
Some users experienced Templater prompts appearing twice. This frustrating bug has been eliminated through a complete rework of the capture pipeline.
🙏 Thank You!
A huge thank you to everyone who reported bugs, tested pre-releases, and provided feedback. Your input directly shaped these improvements and makes QuickAdd better for the entire community!
Special thanks to contributors who helped identify and fix the critical Templater integration issues that affected many workflows.
Full Changelog: 1.15.0...1.16.0
Report Issues: https://github.com/chhoumann/quickadd/issues