Minimal (non-)working example:

```
\documentclass[tikz,border=2pt]{standalone}
\usepackage{accsupp,xparse,hyperref}
\usetikzlibrary{calc,fadings}
\pgfkeys{/SS/nulx/size/.initial=0.25ex,/SS/nulx/size/.value required}
\pgfkeys{/SS/nulx/thickness/.initial=0.125ex,/SS/nulx/thickness/.value required}
\pgfkeys{/SS/nulx/shift/.initial={(0ex,0ex)},/SS/nulx/shift/.value required}
\pgfkeys{/SS/nulx/extension/.initial=0ex,/SS/nulx/extension/.value required}
\pgfkeys{/SS/nulx/extrusion/.initial=0ex,/SS/nulx/extrusion/.value required}
\NewDocumentCommand\nulx{ s +O{} }{\texorpdfstring{%
\pgfqkeys{/SS/nulx}{#2}%
\BeginAccSupp{method=escape,unicode,ActualText={x⃘}}%
\begin{tikzpicture}[baseline=(letter.base)]
\begin{tikzfadingfrompicture}[name=x circle fading]
\node[inner xsep=\pgfkeysvalueof{/SS/nulx/extension},inner ysep=\pgfkeysvalueof{/SS/nulx/extrusion},white,fill=white] (letterFade) {x};
\draw[line width=\pgfkeysvalueof{/SS/nulx/thickness},white,fill=black] let \p{shift} = \pgfkeysvalueof{/SS/nulx/shift} in ($ (letterFade.center) + (\x{shift},\y{shift}) $) circle (\pgfkeysvalueof{/SS/nulx/size});
\end{tikzfadingfrompicture}
\node[inner xsep=\pgfkeysvalueof{/SS/nulx/extension},inner ysep=\pgfkeysvalueof{/SS/nulx/extrusion},scope fading=x circle fading,fit fading=false,use as bounding box] (letter) {x};
\draw[line width=\pgfkeysvalueof{/SS/nulx/thickness},.] let \p{shift} = \pgfkeysvalueof{/SS/nulx/shift} in ($ (letter.center) + (\x{shift},\y{shift}) $) circle (\pgfkeysvalueof{/SS/nulx/size});
\end{tikzpicture}%
\EndAccSupp{}%
\IfBooleanT{#1}{\xspace}%
}{x⃘}}
\hypersetup{unicode}
\begin{document}
\nulx
\end{document}

```

The `\nulx` command is defined exactly as I have it in my original document; everything else is as stripped down as possible.

This file stops compilation at `\end{document}` with `Package pgf Error: No shape named letter is known`. Removing `[baseline=(letter.base)]` eliminates the error (but typesets with the wrong baseline). How do I fix this?