xdg-open está tentando cumprir os padrões ...
Uma marca @ é um delimitador entre os nomes de usuário e de host e, sem o nome de usuário, é inesperado (e não padrão). Se você quiser usá-lo de uma maneira diferente, terá que codificá-lo.
Leitura adicional: