I may be missing something extremely obvious but I can't get gulp-mocha to catch errors, causing my gulp watch task to end everytime I have a failing test. It's a very simple set up: gulp.task("watch", ["build"], function () { gulp.watch([paths.scripts, paths.tests], ["test"]); }); gulp.task("test", function() { return gulp.src(paths.tests) .pipe(mocha({ reporter: "spec" }).on("error", gutil.log))