If it does not happen with root the bug is not in bash nor in bash-completion but IMHO within your personal ~/.profile and/or ~/.bashrc Beside this fc *is* a bash builtin and used with the bash command line history. The normal complete for this builtin is here linux:~ # complete -p | grep fc complete -F _minimal fc linux:~ # set | sed -rn '/^_minimal/,/^}/p' _minimal () { local cur prev words cword split; _init_completion -s || return; $split && return; _filedir } ... maybe you have overriden one of the shell functions like _minimal, _init_completion, or _filedir ... or any other shell function used therein. It is up on you to debug this on your own as I'm not able to reproduce this.