Skip to content
Why do it today if you can leave it for tomorrow?
Emacs Lisp
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This package allows you to postpone a scheduled entry, hiding it from the agenda buffer for today. It is especially useful for habits with minimum and maximum ranges.

Once you installed it, you can invoke org-postpone-entry-until-tomorrow command (bound to k by default) in the agenda buffer to hide the selected task. Note that it won’t be rescheduled (it’s only hidden from the agenda view), so tomorrow it will appear again as normal. Thus the idea is that if you have a number of habits or other scheduled tasks, you can hide the ones you don’t feel like doing today so they won’t clutter your agenda view. Why do it today if you can leave it for tomorrow?


This package is available on MELPA; you can install it via

M-x package-install org-postpone RET

Alternatively, you can download the file and install it manually via package-install-file or just evaluate the file’s contents.


After you’ve installed the package, you need to add org-postpone-skip-if-postponed to the list of skip funcitons for your agenda view. For example, you might add something like this to your config:

(setq org-agenda-custom-commands
      '(("x" "Tasks for today"
         ((agenda "" ((org-agenda-ndays 1))))
         (; maybe more settings here
          (org-agenda-skip-function '(org-postpone-skip-if-postponed)))) ; <-- add this

        ;; other agenda commands here... 

To customize the keybinding, use this snippet:

(org-defkey org-agenda-mode-map "k" 'org-postpone-entry-until-tomorrow)

That’s it!

You can’t perform that action at this time.