On second thought, I'd prefer the keywords to allow a single function or a list of functions. This prevents breakage with current DOCT syntax and is cleaner IMO. e.g. #+begin_srce emacs-lisp :lexical t (let ((org-capture-templates '(("t" "test" plain (file "/tmp/test.org") "test %?" :hook (lambda () (insert "PASS")))))) (org-capture nil "t")) #+end_src See attached patch.