When you write a command like /upgrade ~/local/bin/irssi, irssi will happily tab-complete all the directory names in the path, like so:
/upgrade ~/lo<TAB>
/upgrade ~/local/
/upgrade ~/local/b<TAB>
/upgrade ~/local/bin/
/upgrade ~/local/bin/i<TAB>
/upgrade ~/local/bin/irssi
But actually running the command results in:
-!- Irssi: Could not find file or file is not executable
That's because /upgrade doesn't expand ~ and tries to find a directory literally named ~. Which is inconsistent with the interactive tab completion.
I think /upgrade should expand tilde in path names because it's convenient for the user and matches its tab completion behavior.