This can happen, for instance, if the underlying transformer only supports `render`. It will throw synchronously [when calling it](https://github.com/jstransformers/jstransformer/blob/1.0.0/index.js#L311). A simple solution would be to wrap all calls to the jstransformer in a try-catch. What do you think? More thoughts: 1. It's bad that `renderAsync` can do that because other modules don't expect an async function to throw synchronously, e.g. https://github.com/metalsmith/metalsmith-in-place/pull/174 2. It's not an issue with the underlying jstransformer because it supports `render` which can throw synchronously.