Tasks Omnibox syntax

The omnibox

One field does everything in Voodoo. It reads what you type twice at once — as a task to capture and as a search to run — and the preview under it always states what Enter will do before you press it. This is the whole grammar.

Voodoo is young: a few filters and actions are still landing. The omnibox always names anything it can’t honor yet right in the preview — it never drops something silently.

Prefixes

The first character switches what the whole line means.

(none)
Dual

Compose a task and search at the same time. Enter guesses which you meant, and the preview tells you before you press it.

?
Find

Search only — never composes. Enter opens the top hit.

/
Command

Run a command. Today: /help. More are on the way.

>
Jump

Jump to a list, tag, or saved view.

'
Literal

Take the whole line as a title, verbatim — no sigils parsed at all.

~
Plain English

Write the task as a sentence. Your words all stay in the title; anything Voodoo recognizes is added as a chip beside it.

Sigils

One character per concept. Each sets a field when you capture, and filters when you search.

^ Due date or time
Capture ^tomorrow^apr15 9am^fri^2026-08-01 Search ^today^<7d^overdue^none
! Priority (1–3)
Capture !1!2!3 Search !1!<=2
# List / project (path-aware)
Capture #Finance#Home/Reno Search #Finance
@ Tag / context
Capture @errand@phone Search @errand
* Repeat rule
Capture *yearly*every 2nd tue*after 3w Search **yearly
= Time estimate
Capture =30m=2h Search =<30m
+ Attach a URL or file
Capture +https://…+ Search +
; Note (runs to end of line)
Capture ; they close at 4pm Search ;invoice
% Template / clone
Capture %packing-list Search %
- Negate the next token
Search -@errand-#Work-"flaky"

Tokens narrow together — ^today !1 means overdue and high priority.

Plain English

Start a line with ~ and write the task the way you'd say it.

Your words are never edited. The whole sentence becomes the title, exactly as you wrote it — anything Voodoo recognizes is added as a chip beside it and underlined in the field, so you can see what it took. Got one you didn't want? right after it appears drops the chip and leaves the words alone.
Reads on its own

These can hardly mean anything else, so no lead-in is needed.

friday at fourtomorrowapr 15next tuesdayevery two weeksurgenthttps://…
Needs a word in front

An ordinary word could be anything — buy a new phone is not a tag — so a list, tag, estimate, note or template has to be introduced.

in financetagged waitingtakes about two hoursnote: they close at 4from template packing-list

Sigils still work on a ~ line, and they win: ~call the bank friday ^mon is due Monday. Lists, tags and templates only match ones you already have — a sentence never creates anything.

Smart Enter

With no prefix, the box is both a new task and a search. Enter picks the likely one and the preview commits to it — so it’s never a surprise.

  • Add when the line reads like something new to capture.
  • Open when it clearly matches a task you already have.
  • Search when it’s a query with nothing to open yet.

Not what you wanted? always adds, even over a search.

Keyboard

Everything is reachable without leaving the box. On Windows, ⌘ is Ctrl.

Do what the preview says — add, open, or search
Force add, even when it looks like a search
Add as a child of the highlighted row
orSpace Complete the highlighted task (Space only when the box is empty)
Drop the highlighted task — a reversible soft delete (empty box); press again to undo
Drop a chip a ~ sentence just added — the words stay, the chip goes
Tab or Step down into the results
Tab or Step back up — off the top returns to the box, then the metadata row
Postpone the highlighted task a day — press again for another
Pull it back a day
Focus — scope the whole app to the highlighted row’s subtree
Rise out of a subtree to the one enclosing it
] Indent — file the row under the row above it
[ Outdent — move the row out to its parent’s level
/ Jump to the metadata row, if you have it turned on
Esc Dismiss the results, keeping what you typed

The four gates

Every sigil character also shows up in ordinary writing. A character becomes metadata only if it clears all four — one mangled title would cost more than any shortcut saves.

1 Boundary

A sigil must begin a word. bob@example.com, C++, and 50% are safe — the character is glued to text before it.

2 Adjacency

It must touch its value, no space: ^fri parses, ^ fri does not. So 2 * 3 and x = 5 stay text.

3 Validation

The value has to be real — ^ a date, ! a 1–3, and # / @ a list or tag that already exists (unknown names are offered, not created).

4 Typed, not pasted

Pasted text is literal by default, so a copied Slack line full of #eng and @here never mangles a title.

Advanced

// The bar

Everything before it is a literal title; everything after it is metadata. The escape hatch when a title is full of sigils.

pay AT&T bill // ^fri !1 #Home
' Literal line

A leading apostrophe turns off all parsing for the whole line.

'50% off #123 @ 5pm!
\ Escape a sigil

A backslash protects the one character after it, so it stays in the title.

ship \#123 today
: Field escape hatch

Query fields the sigils don’t cover. The preview says when a filter isn’t supported yet.

is:blocked has:children status:done
/…/ Regex

Wrap a pattern in slashes to match titles by regular expression.

/inv(oice)?-\d+/

Worked examples

pay AT&T bill ^fri !1 #Home

Adds “pay AT&T bill”, due Friday, priority 1, filed in Home.

call plumber ; ask about the leak

Adds “call plumber” with a note — ; runs to the end of the line, so put it last.

?^overdue #Work

Finds overdue tasks in Work. Search only; nothing is composed.

standup *every weekday

Adds a task that repeats every weekday.

read 3 * 6 joists

Adds the literal title — a * mid-sentence isn’t a repeat, thanks to the gates.

'50% off #123 @ 5pm

Adds that exact title. The leading apostrophe turns off every sigil.

~call the bank about the wire transfer friday at four, high priority, in finance

Adds that whole sentence as the title, with a Friday 4pm date, priority 1, and the Finance list attached.

/help

Opens this page.