In my global TODO list (M-x org-agenda t), items are grayed out when a parent is marked as ordered and they have a previous sibling that is not DONE. For example:

* TODO Bake Cookies
:ordered: t
** TODO Buy ingredients
** TODO Mix ingredients 
** TODO Put in oven

All four items show up in my global TODO list, but all are grayed out, except item "Buy ingredients". That makes sense, and I like that behavior. But I'd like to go further and completely hide the later items "Mix ingredients" and "Put in oven". In reality, my lists are longer and hiding these dependent items would help un-clutter it.

1 Answer 1


Set org-agenda-dim-blocked-tasks to invisible in your init file, instead of the default t:

(setq org-agenda-dim-blocked-tasks 'invisible)

Doing C-h v org-agenda-dim-blocked-tasks tells all the gory details:

org-agenda-dim-blocked-tasks is a variable defined in ‘org-agenda.el’.

Its value is t

Non-nil means dim blocked tasks in the agenda display. This causes some overhead during agenda construction, but if you have turned on ‘org-enforce-todo-dependencies’, ‘org-enforce-todo-checkbox-dependencies’, or any other blocking mechanism, this will create useful feedback in the agenda.

Instead of t, this variable can also have the value ‘invisible’. Then blocked tasks will be invisible and only become visible when they become unblocked. An exemption to this behavior is when a task is blocked because of unchecked checkboxes below it. Since checkboxes do not show up in the agenda views, making this task invisible you remove any trace from agenda views that there is something to do. Therefore, a task that is blocked because of checkboxes will never be made invisible, it will only be dimmed.

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.