I had problems with some keys because I hadn't really paid attention to the order of the declaration. Some tests revealed then that some key properties (e.g. .code:n) overwrite other (e.g. .groups:n and .default:n). I don't know if it is a bug but imho at least it should be mentioned in the documentation. \documentclass[parskip]{scrartcl} \usepackage{expl3} \begin{document} \ExplSyntaxOn \keys_define:nn{test} { key .code:n = {show~key~(#1)~}, key .groups:n = {show}, key .default:n = {XX}, %different order: keyb .groups:n = {show}, keyb .default:n = {XX}, keyb .code:n = {show~keyb~(#1)}, } Key:~\keys_set:nn{test}{key,keyb}~\\ Group:~\keys_set_groups:nnn {test} {show} {key=A,keyb=A} % a change of the .code:n property \par \keys_define:nn{test} { key .code:n = {show~key~(#1)}, } Key:~\keys_set:nn{test}{key}~\\ Group:~\keys_set_groups:nnn {test} {show} {key=B} \ExplSyntaxOff \end{document} -- Ulrike Fischer http://www.troubleshooting-tex.de/