Hashcat self-destructs (Windows)
No shit.
Now and then the hashcat.exe shows up as a file of 0 bytes, and (of course) cannot be run.
I have to extract a new file from the archive.

Any ideas?
Ah, so it was previously running, and then it got overwritten somehow?

My first instinct is to say that it's almost certainly due to either a non-hashcat-supplied script with a bug in it, or some other automated or security-related process. Nothing I'm aware of within hashcat itself would do this.

That being said, hashcat does open, close, create, delete, and truncate files in various ways, so it's theoretically possible that you've run into a bug in hashcat itself. Seems less likely, though.
ha, this reminds me of some users running into the problem of copy-pasting a command starting with

"> hashcat64.exe ..."

where > was part of the command prompt of the original/copied command line. but what it really did was to override the executable because > file means that the file should be written to.
I'm not saying that this must be the case for you, but most of the time things like this are pebcak (in my experience), otherwise many other people would run into this.

You should also definitely let us know the command that you use, maybe it's useful to understand what's going on.