A simplified example, should anyone be looking at this is: \listfiles \documentclass{article} \usepackage{xparse} \DeclareDocumentCommand\foo{mO{xxx}}{[#1][#2]} \usepackage{array} \begin{document} a $x$ \tracingmacros2 %\begin{tabular}{>{\foo{zz}[]}l}% works \begin{tabular}{>{\foo{zz}}l}% fails text \end{tabular} \end{document} ________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Microsoft Office 365. ________________________________