Why does Bash escape colon when autocompleting a filename?
The colon is one of the characters in COMP_WORDBREAKS:
COMP_WORDBREAKS
The set of characters that the Readline library treats as word separators when performing word completion. If COMP_WORDBREAKS is unset, it loses its special properties, even if it is subsequently reset.
As explained in Completion Items Starting With Colon Character:
The colon breaks words for the completion system (look at the description of the COMP_WORDBREAKS shell variable), so when you type
progname :[TAB]
the completion system gets an empty word to complete. If all of the possible completions have `:' as the longest common prefix, then the completion system will insert the colon into the line.
Removing the colon from the COMP_WORDBREAKS environment variable will solve the problem.
See for example Bash completion for Maven escapes colon.