make watch actually return an error when there's an error

The first of a few things to fix #1310 even harder