The agenda view helpfully only shows habits for the current day, but habits that should not yet be done still show up in the global todo list. How can I prevent this from happening?

2 Answers 2


The global todo list is global, meaning that it lists all matching entries. Unfortunately, habit entries require TODO to be present in its headings, thus they will show up in the global todo list by default.

You can filter the global list by tags, categories, efforts, or regexp but these will not work with habits, because a habit entry is just an ordinary entry with a property STYLE set to habit.

You can, however, a) tag all your habit entry, say, :habit: or b) use #+CATEGORY: habit to filter out. See "10.4.4 Filtering/limiting agenda items" for more information.


Since habits are scheduled, you can just do this: (setq org-agenda-todo-ignore-scheduled 'all) and now they should be hidden. There are also a few other options like this to filter for different things:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.