Skip to main content

5.2.4 Fast access to TODO states

If you would like to quickly change an entry to an arbitrary TODO state instead of cycling through the states, you can set up keys for single-letter access to the states. This is done by adding the selection character after each keyword, in parentheses1. For example:

(setq org-todo-keywords
'((sequence "TODO(t)" "|" "DONE(d)")
(sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)")
(sequence "|" "CANCELED(c)")))

If you then press C-c C-t followed by the selection key, the entry is switched to this state. SPC can be used to remove any TODO keyword from an entry2.


  1. All characters are allowed except ‘@’, ‘^’ and ‘!’, which have a special meaning here.↩
  2. Check also the variable org-fast-tag-selection-include-todo, it allows you to change the TODO state through the tags interface (see Setting Tags), in case you like to mingle the two concepts. Note that this means you need to come up with unique keys across both sets of keywords.↩