Im probably just occasionally stumble into explanation of this situation while was reserching yet another annoying unavoidable problem with Deno. In this article was mentioned that symbol # is used to provide hashing mechanism for the import. So my guess is that Deno treat everything that is following after # symbol inside a path of some imported file as hash and by that searching for a trimmed version of used path despite showing the full path in the error message. All other symbols from ASCII table except # seems to be safe for use in file names. I guess.