Breaking change for rejectedWith
Node.js 10.14.0 Should.js version 13.2.3
Repro here: https://repl.it/@cloverb/WeirdWeepySpheres
AssertionError: expected [Promise] to be rejected: expected CustomError {} to match CustomError {}
rejectedWith no longer works with custom errors because it calls match which then does an isPlainObject call which checks the object prototype. This is a breaking change from earlier versions. Is there a reason you are requiring the prototype to be Object.prototype or null?
https://github.com/shouldjs/should.js/blob/master/should.js#L3168 -> https://github.com/shouldjs/should.js/blob/master/should.js#L4055 -> https://github.com/shouldjs/should.js/blob/master/should.js#L1429
Your code does not throw for me
Did you run it in the repl.it?

Is this still actual?