Say I have this task:

* TODO Task
  SCHEDULED: <2019-12-21 Sat 13:00 +1w>

and I mark it done the day after. Then, the timestamp becomes <2019-12-28 Sat +1w> and I lose the previous entry, ie when looking at the agenda on Dec 20th, I will not see the task. Even with log-mode on, I will not see it on Dec 20th, but on Dec 21st (the day I marked it DONE).

In the manual for Repeated tasks, it says:

As a consequence of shifting the base date, this entry will no longer be visible in the agenda when checking past dates, but all future instances will be visible.

Is there a way to get around this? Maybe an active timestamp of the current timestamp could be added automatically when marked DONE and the date is shifted into the future. Something like this:

* TODO Task
  <2019-11-30 Sat 13:00>
  <2019-12-07 Sat 13:00>
  <2019-12-14 Sat 13:00>
  SCHEDULED: <2019-12-21 Sat 13:00 +1w>
  • 1
    The org-habit module may be a better option for keeping track of completed tasks that have repeaters. You can add timestamps automatically using the org-trigger-hook hook, but if you mark the entry as done on the same day the task will show up in the agenda even when it's done. That's probably not what you want.
    – jagrg
    Dec 24, 2019 at 0:57

1 Answer 1


If you mark something done the day after, you could instead mark it done with org-todo-yesterday or org-agenda-todo-yesterday which will give it the correct timestamp.

Or, when you mark it done, add a note with the timestamp you want in the note. See org-log-done or (setq org-log-done 'note).

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.