Percent sign (%) in front of shell command
%
refers to a 'jobid' which is used as part of the "job control and process control" features of zsh. To quote from the user-guide:
'fg' is the default operation on jobs referred to with the '%' notation,
so just typing '%1' with no command name would have worked, too.
Example:
$> man zshall &
[1] + 31392 suspended (tty output) man zshall
$> jobs
[1] + suspended (tty output) man zshall
$> %
<manpage-opens-for-zshall>
Read more about it here: http://zsh.sourceforge.net/Guide/zshguide03.html#l39
To answer your real question: If your zsh does not put a warning there ("fg: no current job" or the like) then there IS / WAS a job. Example:
$> sleep 60 &
$> % echo foo
[1] + 411 running sleep 60
fg: job not found: echo
The %
just got back the background process and runs it. After 60 seconds it got the next 'jobid' which wasn't found.
Thus: The behavior you experienced is a bit strange. Without your full zshrc it's hard to tell what exactly is going on. It seems like you have managed to tell your zsh that the '%' char is starting a comment. I would check the histchars
parameter for it's 3rd value:
$> echo $histchars