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: