Let's say I want to write Definition 1.1 of a source I call \cite{fr82}. I can write \cite[Definition 1.1]{fr82} without any trouble, and I can write
\begin{defn}[\cite{fr82}]
blah blah
\end{defn}
without any trouble. However, when I write
\begin{defn}[\cite[Definition 1.1]{fr82}] blah blah
blah blah
\end{defn}
I get the following error:
Runaway argument?
Definition 1.1)
! Paragraph ended before \@citex was complete.
<to be read again>
\par
l.488 \begin{defn}[\cite[Definition 1.1]
{fr82}]\label{defn:geom_fib}
I suspect you've forgotten a `}', causing me to apply this
control sequence to too much text. How can we recover?
My plan is to forget the whole thing and hope for the best
Any idea for how to fix this?

\begin{defn}[{\cite[Definition 1.1]{fr82}}]? – Mico Oct 07 '20 at 19:00