$ indicates that the string following is an env variable, but you just have a closing quote, so bash is confused.
If you want the literal character $ in your command, you must escape it: \$
Edit: afaik my answer does not change based on the fact that this is fish instead of bash or zsh. The $ is outside of the single quotes, and is thus being interpreted as an env var anchor.