How to show all items that don't have any tags?

I don’t think there’s a clean general way to do this search right now.

If you have a known fixed set of tags you can do something like:

not (@tag1 or @tag2 or @tag3)

For a general search (not any tag) you’ll have to approximate by detecting tags with a text search. Here’s one simple way to do that:

not matches "(^| )@"

That says to match all items that start with “@” or have an “@” proceeded by a space. This will match all tags, and will exclude all email addresses, but it will also have potential for false matches.

Note that because this is a “not” search you might also be interested in How to do not searches in TaskPaper.