bash completion should just work when you install new commands. Bash::Completion is a system to use and write bash completion rules. For end-users, you just need to add this line to your .bashrc or .bash_profile: setup-bash-complete This will load all the installed Bash::Completion plugins, make sure they should be activated and generate the proper bash code to setup bash completion for them. If you later install a new command line tool, and it has a Bash::Completion::Plugin -based plugin, all your new shells will have bash completion rules for it. You can also force immediate setup by running the same command: setup-bash-complete To write a new Bash::Completion plugin, see Bash::Completion::Plugin. WWW: http://search.cpan.org/dist/Bash-Completion/