diff --git a/src/completion.rs b/src/completion.rs
index dca94d6d8bebf02e8cd08d4e8689a3b73e3dfb90..4ef0216a4a989cd8d5d129eaac716a22a312229c 100644
--- a/src/completion.rs
+++ b/src/completion.rs
@@ -63,8 +63,13 @@ pub struct FilenameCompleter {
     break_chars: BTreeSet<char>,
 }
 
+#[cfg(unix)]
 static DEFAULT_BREAK_CHARS: [char; 18] = [' ', '\t', '\n', '"', '\\', '\'', '`', '@', '$', '>',
                                           '<', '=', ';', '|', '&', '{', '(', '\0'];
+// Remove \ to make file completion works on windows
+#[cfg(windows)]
+static DEFAULT_BREAK_CHARS: [char; 17] = [' ', '\t', '\n', '"', '\'', '`', '@', '$', '>',
+                                          '<', '=', ';', '|', '&', '{', '(', '\0'];
 
 impl FilenameCompleter {
     pub fn new() -> FilenameCompleter {