Run your QuickAdd choices, captures, and templates from Raycast. This extension is a thin front end over QuickAdd: it does not reimplement anything, it drives the plugin through the official Obsidian CLI so every workflow you already have in your vault is reachable from Raycast.
-
Raycast Store: link coming once the extension is published.
-
From source:
git clone https://github.com/chhoumann/raycast-quickadd && cd raycast-quickadd && pnpm install && pnpm dev
Obsidian ships a command-line interface (Settings → General → Command line interface). QuickAdd registers handlers on it. The extension shells out to that CLI and parses the JSON it returns.
- The command lists your choices with
quickadd:list, grouped by their Multi folders. - Run starts the choice with
quickadd:interactive. QuickAdd runs it inside Obsidian and sends each prompt to Raycast instead of opening a modal. - The extension renders each prompt as a native Raycast control. A choice's declared inputs arrive together as one form. Prompts from a macro script (
inputPrompt,suggester,datePrompt, and the rest) arrive one at a time. - When the run finishes, a toast says what it did ("Created " or "Added to ") and offers Open in Obsidian.
Run in Obsidian (⌘K) runs the choice inside Obsidian with QuickAdd's own modals.
- Run QuickAdd Choice - browse every runnable choice, run it, and answer its prompts in Raycast. Up to five choices you ran often and recently sit in a Recent section at the top. Choices that Obsidian flags as commands are marked, and any choice can be pinned as a Quicklink (⌘K → Pin as Quicklink) so it becomes root-searchable and hotkey-able in Raycast.
- Quick Capture - a no-view command that sends its text argument to a capture choice of your choosing (set per-command in preferences). Bind it to a hotkey for frictionless capture.
- Capture Selection - a no-view command that sends the text selected in the frontmost app to a capture choice, set per-command like Quick Capture's.
The form renders each input from the field metadata QuickAdd sends. To get a large, dictation-friendly text area, declare the value as multi-line in QuickAdd itself - {{VALUE:label|type:multiline}}, or a macro user script whose quickadd.inputs entry uses type: "textarea". The extension renders whatever the vault describes; there is no bespoke "big field" command to maintain.
Typing [[ in a text field opens a searchable list of the vault's notes and aliases. Typing # at the start of a word opens the vault's tags, most used first. Picking one inserts the link or tag where you typed. This needs QuickAdd with quickadd:suggest.
| Feature | Needs |
|---|---|
| Everything | macOS, and Obsidian 1.12 or later (the installer, not only the in-app update) with Settings → General → Command line interface turned on |
| Quick Capture, Capture Selection | QuickAdd 2.15 or later |
| Run QuickAdd Choice, with a choice's inputs on one form | QuickAdd 2.17.2 or later |
| Cancel Run stops the run in Obsidian, "Created" and "Added to" finish messages | QuickAdd 2.20 or later |
| Note pickers that start empty | QuickAdd 2.31 or later (unreleased as of October 2026) |
[[ and # completion |
QuickAdd 2.31 or later (quickadd:suggest, unreleased as of October 2026) |
The extension starts Obsidian and opens the vault when it is closed.
- Templater's own prompts, such as
tp.system.prompt, open in Obsidian, not in Raycast. When a run waits on one, Raycast offers Open Obsidian. {{selected}}inside a choice reads the selection in Obsidian's editor, not the text selected on your Mac. Use Capture Selection to capture the Mac selection.
- Vault - the vault folder QuickAdd runs in. Leave it empty and the extension uses the one vault with QuickAdd enabled, or lists them when several have it. Quick Capture and Capture Selection need it set when several vaults have QuickAdd.
- Obsidian CLI Path - optional; auto-detected at
/opt/homebrew/bin/obsidian,/usr/local/bin/obsidian, or insideObsidian.app. - Quick Capture → Capture Choice and Capture Selection → Capture Choice - the capture choice text is sent to. Pick one that works headlessly (a capture whose target file/heading exists, or that creates them).
pnpm install
pnpm dev # ray develop - installs into Raycast in watch mode
pnpm build
pnpm lint
pnpm test # unit tests for field parsing and validatione2e-vault/ has one QuickAdd choice per field kind and a macro script that raises every script prompt.
- Build QuickAdd in
~/Developer/quickadd(setQUICKADD_DIRto use another checkout), then runscripts/setup-e2e-vault.shto copy the plugin intoe2e-vault/. - Open
e2e-vault/in Obsidian with Open folder as vault, and turn on community plugins when Obsidian asks. - Run
pnpm e2e:protocol. The script runs every choice throughquickadd:interactive, answers each prompt with replies built byreadField, and checks the notes QuickAdd writes toe2e-vault/Output/. It also aborts a slow macro mid-work and checks that it stops at its next prompt, and checks that/abortafter a finished run changes nothing.
To see the forms in Raycast, open a choice through a deeplink whose context names the e2e vault, for example raycast://extensions/christian_bager_bach_houmann/quickadd/run-choice?context= followed by the URL-encoded {"vaultPath":"<repo>/e2e-vault","choiceId":"e2e-text"}.
See ARCHITECTURE.md for how the extension talks to QuickAdd and why.