With the indicated line commented-out, the following course using both babel-french and crossreftools gives the expected output from the two crossreftools commands near its end:
\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}
%\usepackage[french,main=english]{babel}
\makeatletter
\declaretheoremstyle[
headformat=\NAME\NUMBER\let\thmt@space\@empty\NOTE,
]{thmstyle}
\makeatother
\theoremstyle{thmstyle}
\declaretheorem[name=Theorem]{theorem}
\usepackage[pdftex,colorlinks]{hyperref}
\usepackage[nameinlink,noabbrev,capitalize]{cleveref}
\usepackage{crossreftools}
\begin{document}
\begin{theorem}[theorem of Pythagoras]
\label{thm:prelim}
The square of the hypotenuse of a right triangle equals the sum of the squares of the other two sides.
\end{theorem}
\crtrefanchor{thm:prelim} --- \verb!\crtrefanchor{thm:prelim}!
\crtrefname{thm:prelim} --- \verb!\crtrefanchor{thm:prelim}!
\end{document}
However, when that line is uncommented, this error occurs:
./clash.tex:23: Missing \endcsname inserted.
<to be read again>
:
l.23 \label{thm:prelim}
Undoubtedly the error has the same cause as noted in https://tex.stackexchange.com/a/510593/13492: the french option to babel makes : active, which interferes with the colon's use in the label.
A fix for another such class between babel-french and crossreftools was given in https://tex.stackexchange.com/a/510641/13492.
Question: How can this incompatibility be fixed for these two crossreftools commands?
Note: Why colons in labels?
In the book-length document from which the preceding MWE arises, I've been using colons in labels because they nearly all already have hyphens embedded in the phrase following the colon, e.g.,\label{thm:law-large-numbers}. Such a label makes the type of theorem (or definition, etc.) visually separate from the terse description of that particular theorem (etc.).
I tried semicolon instead, but find that also no good, since babel-french makes it active, too.
Character | might do (hope it doesn't lead to other problems), but it's rather obtrusive compared with : in a label. (Still, it will take some work to replace the colons in some 1500-1600 labels without inadvertently replacing needed colons punctuation body text.)

crossreftoolsto do some of the cross-referencing.