When there's an expression with a pipe the cmd
starts two threads on both sides of the pipe and the expression is parsed twice (for each side of the pipe) so carets need to be doubled.
On the left side:
echo ^^^&|more
On the right side:
break|echo ^^^&