Here are two different syntaxes for tp or teleport:
however, if I type the following command, guess which one it will be resolved into
/tp @s true
Unexpectedly, it is resolved as the second syntax, and "true" is regarded as a player's name.
and of course, "true" can indeed be a player name under particular conditions
So the two syntaxes conflict.
Please remove the second argument in the first syntax.