Using OpenBSD -current. sftp> mkdir foo\ bar sftp> cd foo\ ^I If there are any files in the current directory, but none that would match foo\ *, this tab completes as if the filename were empty. If there are no other files in the current directory, pressing tab has no effect. In both cases it should tab complete to "foo\ bar/". Another possibly related inconsistency: sftp> mkdir foo\ bar foo\ baz After typing "cd foo^I", the prompt prints both alternatives and completes to "cd foo\ ba". If you type "cd foo\ ^I", the prompt prints both alternatives but leaves the input string as "cd foo\ ".