Since "pg_dump -Fd" needs a "--file" option to say where to put the dump directory, it seemed reasonable that "pg_restore -Fd" would need a --file to know where the dump directory is.
It is a reasonable assumption - but when it failed the definition for --file in the pg_restore docs explains that is doesn't work that way.
Its too late to change it now even if its not particularly intuitive. And the complaint is not directory specific either - though for pg_dump you don't have the option of redirecting stdout like you do with a file output.
I could see a patch for pg_dump --file option (and maybe pg_restore) covering this non-symmetry being accepted, should one be put forth, but it doesn't come up particularly often and it errors out quickly.
On the code front I could see pg_restore being a bit more helpful if it sees "--file", and stdin is empty, that the resultant error hints to the user that maybe they mis-used the --file option.
David J.