Hi Aditya,
Could be due to the change in catcode of &. Try adding \donknuthmode.
It doesn't make any difference if I put the \donknuthmode just before \starttikzpicture. But If I put it before the \usemodule[tikz], then I get another error: Package pgfbasematrix: Error! Single ampersand used with wrong catcode. ! Missing number, treated as zero. system > tex > error on line 12 in file testcontext.tex: Missing number, treated as zero ... 2 \usemodule[tikz] 3 \usetikzlibrary{matrix} 4 5 \starttext 6 \tikzstyle{description}=[fill=white,inner sep=2pt] 7 \starttikzpicture 8 \matrix(m)[matrix of math nodes, 9 row sep=3em, column sep=3em, 10 text height=1.5ex, text depth=0.25ex] 11 {x&y\\ 12 >> z&u}; 13 \path[->] 14 (m-1-1) edge node[description] {$*$} (m-1-2) 15 edge node[description] {$*$} (m-2-1) 16 (m-1-2) edge[dashed] node[description] {$*$} (m-2-2) 17 (m-2-1) edge[dashed] node[description] {$*$} (m-2-2); 18 \stoptikzpicture 19 \nonknuthmode 20 \stoptext 21 <to be read again> \pgf@matrix@column@sep@2 \pgf@matrix@endcell ...ixcurrentcolumn \endcsname \relax \advance \pgf@picmi... <template> \pgf@matrix@endcell }\endtemplate \pgf@matrix@no@eom@found ->\cr \noalign {\vskip \pgf@y \ifpgf@matrix@fixed \... <to be read again> z l.12 z &u};