diff --git a/buildgrid/_exceptions.py b/buildgrid/_exceptions.py
index 868c0ac0d9c9c829565eadd545094a42c7b53b38..7123097e3910b307cb9ac409e1ee9642b1c946fc 100644
--- a/buildgrid/_exceptions.py
+++ b/buildgrid/_exceptions.py
@@ -52,6 +52,11 @@ class BotError(BgdError):
         super().__init__(message, detail=detail, domain=ErrorDomain.BOT, reason=reason)
 
 
+class CancelledError(BgdError):
+    def __init__(self, message, detail=None, reason=None):
+        super().__init__(message, detail=detail, domain=ErrorDomain.SERVER, reason=reason)
+
+
 class InvalidArgumentError(BgdError):
     """A bad argument was passed, such as a name which doesn't exist."""
     def __init__(self, message, detail=None, reason=None):