After some hackering and reading that other people had problems with a lacking space inside a {~a} I managed to get it working.
Here is the code with only marginally small rewrite(added two spaces): (defun choose-directory (&key (initialdir (namestring *default-pathname-defaults*)) parent title mustexist) (format-wish "senddatastring [tk_chooseDirectory ~@[ -initialdir {~a }~]~@[ -parent ~a~]~@[ -title {~a }~]~@[ -mustexist ~a~]]" initialdir (and parent (widget-path parent)) title (and mustexist 1)) (read-data))
notice the spaces inside {~a }.