diff --git a/Library/Homebrew/cmd/test-bot.rb b/Library/Homebrew/cmd/test-bot.rb
index 518abc0cc82af51bd9ae2f15cc2e34ff69f52d82..d6ad6c60b4db5cd5158779cc3d6bf7e72948d50f 100644
--- a/Library/Homebrew/cmd/test-bot.rb
+++ b/Library/Homebrew/cmd/test-bot.rb
@@ -14,6 +14,7 @@
 # --local:        Ask Homebrew to write verbose logs under ./logs/ and set HOME to ./home/
 # --tap=<tap>:    Use the git repository of the given tap
 # --dry-run:      Just print commands, don't run them.
+# --fail-fast:    Immediately exit on a failing step.
 #
 # --ci-master:         Shortcut for Homebrew master branch CI options.
 # --ci-pr:             Shortcut for Homebrew pull request CI options.
@@ -134,6 +135,8 @@ module Homebrew
         end
         FileUtils.rm(log) unless ARGV.include? "--keep-logs"
       end
+
+      exit 1 if ARGV.include?("--fail-fast") && @status == :failed
     end
   end