beorg 3.39.0 - a new search syntax

April 20, 2026

Introducing a New Search Syntax in beorg 3.39 🚀

Search is at the heart of how you work with your Org files. Whether you’re tracking tasks, managing projects, or just trying to find that one headline buried somewhere, speed and precision matter.

beorg 3.39.0 introduces a brand new search syntax that’s not only far more powerful - but dramatically faster too.

Until now, searching in beorg worked by:

That worked (partly due to how fast iPhones now are) — but it did slow down with lots of files.

With the new search:

The result? Searches that feel (almost) instant - even across large collections of files.

🔍 How to Use It

To use the new syntax, simply start your search with /

Anything beginning with / uses the new engine.

🧠 Boolean Logic Comes to beorg

You can now build complex queries using familiar boolean operators:

(and group conditions using parentheses)

Previously whenever someone asked me how to do a more complex search I had to push them into to creating a Scheme search (not easy for non-programmers, and awkward for experts having to type in a potentially complicated line of code on a touch screen).

Example of the new syntax:

/(state:TODO OR state:INPROGRESS)
AND (tag:project OR tag:epic)
AND NOT priority:C

This finds:

You can filter headlines using a range of keywords:

This gives you precise control over exactly what you’re looking for - especially when combined using boolean operators.

If a keyword isn’t matched, then it assumes you want to search the text within the headline or the notes attached to the headline. For example, to search for open tasks where the word cat appears:

cat AND state:TODO

If you need to use double-quotes to search for a phrase, or with a property keyword - for example prop:"author=charles dickens".

All searches are case-insensitive.

📅 Date Filtering

You can search based on planning dates:

These support flexible date expressions. Examples:

Example Query:

/scheduled:today..+1w

Finds everything scheduled in the next week.

The new search syntax will only match the exact planning date, and won’t match any future dates implied by a repeater. This limitation may be addressed in the future.

📊 Grouping Your Results

By default, results (on the Tasks tab) are grouped by file—but you can change that:

This makes it easier to view results in a way that matches how you think.

You can only use group on the Tasks tab, and can’t be used on its own.

🔽 Sorting Results

You can also control ordering:

Use > for ascending and < for descending.

order can’t be used on its own.

🧩 Putting It All Together

Here’s a more advanced example:

/(state:TODO OR state:INPROGRESS)
AND tag:project
AND scheduled:today..+1w
order:>scheduled
group:priority

This gives you:

Note that boolean operators are not used with order and group.

🎯 Why This Matters

This new search system brings three major benefits:

  1. Speed

Searches are dramatically faster thanks to the database-backed approach.

  1. Power

Boolean logic and structured filters let you express exactly what you want.

  1. Flexibility

Grouping and ordering make results easier to work with.


This is a big step forward for working with large or complex Org setups in beorg.

Give it a try - and start your next search with /.

If you are ready to use this new syntax fulltime you can get beorg to automatically add the \ when you start a new search:

Alternatively if you don’t have the Customize UI extension you can set filter-default-to-advanced in your Scheme init.org file.


If you have any feedback or want to report a bug regarding this new syntax, please get in contact via Mastodon or submit a ticket in the support center.

Download now for iPhone and iPad

Follow us on Mastodon and Bluesky

Privacy Policy | Press Kit