PyStan throws error when running chains in parallel (n_jobs > 1)

Do you run your python in a script?

Try to run your code in __name__ == "__main__" block

import pystan

if __name__ == "__main__":
    sm = pystan.StanModel(...)
    fit = sm.sampling()

I think this is due to behavior of the multiprocessing (macOS started to use spawn instead of fork)

See https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods