Скорее всего, вы сейчас используете /etc/bash_completion - проверьте, загружен ли он вашим профилем или bashrc.
Он содержит функцию _expand которая заменяет тильду на путь «чтобы избежать проблем, когда $ cur, начинающийся с тильды, передается командам и заканчивается кавычками вместо расширенных» (из комментариев в функции).
Если вы все еще хотите сохранить тильду, вы можете взглянуть на функцию _filedir . Рядом с вершиной есть линия
_expand || return 0
Удалите его или отключите с префиксом # . Однако это уродливый хак, и вы можете столкнуться с проблемами, упомянутыми выше.