I've encountered an unexpected bebahiour with the completion in bash/zsh in conjunction with the tab key.
When I enter cd ~ and press [ENTER] on Linux (here Ubuntu 22.04 and latest Raspberry Pi OS) the directory is changed to the home folder.
This is (afaik) called tilde expansion.
When I enter cd ~ and press [TAB] I'd expect that it simply appends / or substitutes ~ with /home/<username>/.
Instead a list with suggestions is displayed but none of these suggestions can be found in my home folder.
The first suggestion is ~_apt and when I choose this, I'm told
cd: no such file or directory: /nonexistent
The next suggestion is ~avahi/ and when I choose this I end up in
/var/run/avahi-daemon.
There're further suggestions such as ~backup/, ~messagebus, ~news, ~sys/, ~systemd-coredump/, etc., most work, some don't.
So this looks like some pre-configured list of ?shortcuts?.
- Can this be configured?
- Why are there suggestions that doesn't work (
no such file or directory: /nonexistent)?

~<TAB>completes a username.~stringnavigates to userstringhome directory.It is not, these are usernames.
You tagged both bash and zsh, I do not know which one of them are you using. I know bash. In bash, you can modify the bash-completion functions, depending on the version they are installed. See ex. https://github.com/scop/bash-completion/blob/4f9ad009487452cb5896cd129a7c87ac4196cb21/bash_completion#L272 .
There are users with not existent home directories, because they are system or batch users, or there are users with home directories to which your user does not have permissions to navigate to.
That is true. In such situations, you could consider adjusting your expectation.
~stringis the standard way to reference some user home directory, there are also less known~+~-~5. See https://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html /