> You have to escape it from your shell? Either you have files whose > name is simply hyphen plus another character in the current directory, > or you have a hateful shell.
I have a shell that allows me to "set nonomatch" to turn this off. I do not do this, because having metacharacters sometimes working without quoting and sometimes not is hateful. I have to quote them anyway, even if I think I'm safe, so there's no point to ever treating them as normal characters. See also, hateful automatic command abbreviations.