The same happens on Linux: $ mkdir a; python2.3 -c 'import shutil; shutil.move("a", "a/c")' $ ls -l a ls: a: No such file or directory Unix mv has a test that prevents this: $ mkdir a; mv a a/c mv: cannot move `a' to a subdirectory of itself, `a/c' I've created a sourceforge bug report about this. Visit here: http://python.org/sf/919012 Jeff