Auto-unflag checked items

Is it possible to make OmniFocus automatically unflag items when checked?

It would make it possible to have even more efficient workflows!

I guess an option in preferences would be ideal, so anyone using flagging for other purposes could keep doing so.

1 Like

This is an interesting idea, but since all persepctives in OF allow you to differentiate between All, Remaining, Available, and Completed, what value would one get from unflagging Completed items?

Interested to understand the use case!


If you simply pick and flag a bunch of items to do, let’s say, when you’re going out, it is so easy to just see the list of the flagged items, just as it was easy to pick and flag them. You can set the iOS version to only show the flagged items on “Today”, flip it down when you want to see the list or check an item, and keep going.

This is especially efficient if you have more things to do than you can or choose to do, at a certain time, and you simply want to choose a few, and focus on that list, on the go.

The thing is, when you do that, the flagged items keep being flagged, even after you check them. Therefore, even if you make a special view that would hide the completed items, you will eventually have to unflag those items at some point. This gives me the feeling of an unfinished business, even though I actually complete that item, not to mention the extra steps required to unflag them later.

If OF allowed me to make it so completing an item removed the flag, I could use this kind of workflow, without having to take the steps to unflag them later, or even think about it and feel that there is more to do to have accomplishment even though I actually finished the item.

So, for those who use flags only to choose some items to have a list to focus on and do them one by one (which is most users I guess), it would make it more efficient if the flags disappeared once the items were checked. It would save the user the extra steps required for unflagging the items later on.

For any other use case, however, I would suggest making this an option available under preferences.

Interesting, I use a very similar workflow, but I don’t feel a need to unflag completed items. All of my perspectives hide completed items except for those set up specifically to look at completed things or changed items, so it doesn’t really matter much to me whether completed things are flagged or not - they’re completed.

I guess to each their own - thanks for explaining!


Interesting idea, but like @deturbulence I pretty much hide complete items everywhere except when I specifically want to see completed items, in which case I don’t mind if they’re flagged or not.

On the Mac side, it probably wouldn’t be too much trouble for somebody to hack together an Applescript that would go through on a regular basis and UNflag all completed tasks, although that wouldn’t help if you’re only using the iOS version.

Personally, expanding on this idea, it would be nice if the option could exist, on a per-task basis, to have the next occurrence of repeating tasks come in unflagged, but that’s probably getting even more complicated, and right now hitting CMD+L or clicking on the flag on a task before completing it. More recent updates to the iOS app make this even easier as well, since you can now swipe to the left to bring up a Flag/Unflag option.

I am still confused why.

I have an Active Perspective that shows only flagged items that are remaining. I never bother about those that are completed.

Perhaps I am dense but … Why do you care that a completed task still has a flag on it when you can set a perspective for your work where they never show? Why do you even think that it is necessary to go back an “unflag” a completed task?

Note … I once had your concern and would occasionally spend time to unflag completed tasks. Then, it dawned on me … why bother? So … why bother?


1 Like

I have one ‘special view’ (perspective) where completed items are shown. In all the other views, default views and my custom perspectives I’m not interested in completed items and so they are not visible.
What is your reason to do have completed items visible in your day-to-day views/perspectives?

First of all, I would like to thank you all for your comments.

I’ve never thought I could simply ignore the flagged status of completed items. Maybe I should do the same, and set all flagged item views to hide completed items.

Would that work? Yes.
Would that keep me from feeling uneasy about the flags on completed items? No.


Well, because, for me, having a flag is a temporary state.

Why would I want to have flags on completed items? Wouldn’t it be completely unnecessary for completed items to keep having flags?

The only use case for completed items having flags is for organisational purposes, and for that, I suggested putting an option in preferences. But even for that to work, flag states should not be kept after completion, so this option could be used once the auto-unflagging is disabled.

I would personally prefer “flag” to give a super-status that is temporary, because, simply, a completed item having a flag has no function unless it is deliberately flagged for organisational purposes. A completed item with a flag that was supposed to be temporary, feels unclean.

On my remark, I was referring only to flagged views. Otherwise it’s the same for me. I always hide completed items, except for a few perspectives showing recently changed items, or completed items, or shopping lists, for special purposes that are not part of my usual day-to-day workflow.

However, “flagged” has always been a status I used to show “all flagged”, because I always thought of the flagged status as a super-status and temporary.

Heh, I think that may just be a mindset that’s (hopefully) easy to change :)

To be, the only “super status” is whether an item has been completed or not. While you’re right that “Flagged” is inherently a temporary state, the “Completed” status supersedes the “Flagged” status in my view, so once something is marked as “Completed”, pretty much every other property of that task is completely irrelevant and no longer matters – not just Flagged, but Context, Project, Defer Date, Due Date. Some of these are all transitive properties, but once a task is completed, it’s basically gone except for historical purposes. At that point the only property that matters is the Completion Date. The nature of the task changes completely, in other words.

Now, in my case, I very rarely look AT my completed tasks, although I’ll sometimes look FOR a completed task. In other words, while the default “Completed” perspective is there, I can’t remember the last time I browsed through it. Mostly I just use completed tasks if I want to know WHEN something was last done and I can’t remember.

I also tend to archive all of my old items out of OmniFocus with regularity to keep the database lean and mean for sync purposes, so chances are I’ll rarely have more than a couple of weeks’ worth of completed tasks on hand anyway – for anything else I’m going over to check the archive.

Obviously, OmniFocus allows for a huge variety of different usage models, but if you’re not looking at your completed tasks regularly, then it should be easier to just hide them and no longer care that they’re flagged. It may bother you, but if you never see them, it may hopefully stop bothering you over time. Out of sight, out of mind :)

To me, all those details of a completed item; context, project, defer date, due date; all these are meaningful historical records I may need to use in the future. Flag status, on the other hand, does not mean anything in any given moment, including the moment I flag them. It is the only temporary property, therefore I would expect it to be a super-state.

Not everyone works this way. I use flags to set permanent states on tasks.

Yes, this could be a user-defined setting in preferences. That complicates the preferences though. I’d prefer to keep the settings to a minimum.


There’s also the issue of repeating tasks. One might want a repeating task to repeat without the flag, or with its flag intact. Different use cases.

I think, ideally, there must be an option available under preferences.

I would agree if one way of using it was more efficient, however, it is not a matter of inefficient habit, but rather an annoyance caused by a detail getting in the way of workflow efficiency.

Also, once multiple contexts feature becomes available, flag state will be no different than a context called “flag”, for anyone who uses flags the way you mentioned. Therefore, if the existing flag state should only have one way of using it, it should be different than a tag or a context; it should be a super-state.

Here, I see your case perhaps being stronger.

As @jdh and my previous statements suggest, you may have an easier path when you would learn to ignore this “annoyance”.

Sounds like you should submit a feature request.


I thought I just did?

Should I send an email?

Agree with that! Especially when pick some items from grocery list(repeating items) by flag it, check it off in flag perspective or today widget, then unflagged items are ready for next occurrence automatically.

1 Like

I think if such implementation is necessary, then the default behaviour should be to unflag everything automatically once completed, since most people seem to not have any need to keep the flags after completion. For those who use flags differently, a systemwide option would serve them well, as they are already not using flags for the same way you have mentioned.

My opinion is this …

The default should stay as it is. Your statement “since most people …” has no merit in facts. It is your opinion as an extrapolation of you own behavior.

I will play the same back at you …

For those in the minority who use flags for the same way you do, a preference setting would serve them well.

We have an impasse. Submit a feature request …

Yes. To support@omnifocus …


Of course it was. That’s why I said “I think”.

The only user cases I’ve seen are the ones mentioned here, and so far most people said they simply didn’t care for the flag status once the item is completed. However, I am aware of the fact that it is not enough to make a statistical conclusion just by reading a few comments here.

I certainly wouldn’t care about the default setting, as long as there was a systemwide setting to turn on auto-unflagging completed items.

However, if such feature was only added to the inspector for individual items, then it would only serve those who need it for repeating tasks. Some of the people who need such function for repeating tasks apparently don’t use a flag as a permanent status. Some don’t care what happens to those afterwards, some do, but at least most people commented here don’t see that the flags have any function afterwards, so it would serve them if there was a systemwide option, and it would serve you if there was a systemwide option, but I do not see any use case in which there would be any benefit to not having a systemwide option but only a per item option. That’s all I meant. And if there are some people who specifically need it to be per item, well, then I guess I will have to remind this again:

So, let’s assume we are in the future now, in which we have the multiple contexts feature already.

What would be the point of a “flag” status then? Wouldn’t it be the ideal minimalistic approach to simply remove the flag status and convert it to simply another context or tag?

Then, anyone who uses it as a permanent marker could keep using it the same way. Just like how Apple did with Photos.

However, if there will be a separate flag status different than a context/tag, then it would be expected to have something different, I guess. And since the use case you mentioned will already be covered by adding such extra context/tag, you would not need flags to behave that way anymore. However, anyone, including you, could, I guess, benefit from such super-state flagging for purposes other than a context/tag could cover.

Actually, I would say I appreciate completed items remaining flagged. It shows me the difference in my historical activity between work I did because it was flagged and work I did because I just did it.

This is also true of defer and due dates - I wouldn’t want these attributes to go away because I completed an item. The attributes help me reflect on what I did, when (completed date), and why (due, flagged, became available from deferred, just did it).

But again, this is only for when I look at completed items, which is largely just during weekly and monthly reviews.