There are big fat warnings in the current draft under set-umask! and set-current-directory! that use in multi-threaded programs has unpredictable results.  I think that is the best we can do.

On Sun, Aug 2, 2020 at 3:36 PM Lassi Kortela <xxxxxx@lassi.io> wrote:
Did we reach a definite decision on per-process vs per-thread CWD? The
latest 170 draft seems written to suggest (but not very obviously) that
the CWD is always per-process.

I still think it would be clearer to use a per-thread CWD in Scheme
implementations where that is the custom. If current-directory is a
parameter object, it could be temporarily bound to #f to fall back to
the per-process OS CWD.