Orgmode's org-habits appear broken following the upgrade of emacs from version 25 to 26 and orgmode from 8.2 to 9.1 along the way.

Specifically, all of my habits don't show as habits in the org-agenda any more. Now they show as regular tasks, they cannot be hidden from the agenda view with Shift-K.

I have noticed the :PROPERTIES: drawer now need to be higher up to the heading to be effective. OK, I have moved it up: right below the SCHEDULED: and above :LOGBOOK: - that makes no difference. Moving :PROPERTIES: above SCHEDULED: seems to render a task unscheduled thus removing it from agenda.

Is there anything else to try?

1 Answer 1


This works fine for me on 9.2.6:

** TODO Practice
  SCHEDULED: <2019-11-20 Fri .+1d>
  :STYLE:    habit
  :LAST_REPEAT: [2019-11-27 Wed]

It is hidden from the agenda view with S-K.

As you surmised, the order has been tightened in order to allow easier parsing: scheduling information (SCHEDULED/DEADLINE) has to come right after the headline and the :PROPERTIES: drawer has to come right after that. Reading the etc/ORG-NEWS file is recommended: it covers new things and incompatible changes. In particular, this change is described in a section called Properties drawers syntax changes and can currently (2019/11/29) be found on line 2039 in the file (although the line number will change when a new release is made - it is better to search for the section title).

Doing M-x org-lint in an Org mode buffer will find a lot of these problems.

  • Cool. Thanks for the org-lint heads up! The issue was in the way TAB interpretation in the :PROPERTIES: changed! I had a lot of entries automatically converted to org-mode format and I thought using TAB was better for readability. This worked fine in org-mode 8.2, but apparently not any more. Nov 30, 2019 at 15:38

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.