Ich denke, das würde schon viel Helfen
Falsch.
Hat man jetzt oder zukünftig mal einen Befehl/Code drin, dessen Auswirkung es ist, daß sich das Arbeitsverzeichnis verändert, dann knallt es wieder.
Ergo bleibt als einzige Lösung das Programm so zu schreiben, daß ihm das Arbeitsverzeichnis "egal" ist.