It defaults to false like it should. Elixir doesn’t know whether your test depends on some possibly hidden global state or not. Having async: true could cause some of your tests to fail in unpredictable ways which would be hard to debug.
The problem is that async: true does something different from what people may expect. Tests in single module are always run synchronously, no deviations. async: true mean that tests in given module can be ran in parallel with other modules. So this would produce unexpected results when used with some persistent storage tools, when used without special preparations, or other hard to reason problems. Instead they have chosen to “safer default”. If you want to check your code for concurrency errors then you can check out Concuerror.