The processes current directory is never changed, as doing so will do blocking IO, which is something the UI avoids where possible. A separate 'virtual' current directory is maintained, and used where the current directory normally would be (e.g., for open/save dialogs).