Cap’n Proto 0.5.1 has just been released with some bug fixes: On Windows, the capnp tool would crash when it tried to generate an ID, e.g. when using capnp id or when compiling a file that was missing the file ID, because it tried to get random bytes from /dev/urandom , which of course doesn’t exist on Windows. Oops. Now it uses CryptGenRandom() . Declaring a generic method (with method-specific type parameters) inside a generic interface generated code that didn’t compile. joinPromises() didn’t work on an array of Promise