diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,12 @@
 
 ## Unreleased
 
+## [0.8.1] - 2022-07-26
+
+- Cachix Deploy: retry exceptions every 1s instead of exponentially 
+
+### Fixed
+
 ## [0.8.0] - 2022-07-10
 
 ### Fixed
diff --git a/cachix.cabal b/cachix.cabal
--- a/cachix.cabal
+++ b/cachix.cabal
@@ -1,11 +1,11 @@
 cabal-version:      2.2
 name:               cachix
-version: 0.8.0
+version:            0.8.1
 license:            Apache-2.0
 license-file:       LICENSE
 copyright:          2018 Domen Kožar
 category:           Nix
-maintainer:         domen@enlambda.com
+maintainer:         domen@cachix.org
 author:             Domen Kožar
 homepage:           https://github.com/cachix/cachix#readme
 bug-reports:        https://github.com/cachix/cachix/issues
@@ -153,7 +153,7 @@
   import:             defaults
   main-is:            Main.hs
   build-tool-depends: hspec-discover:hspec-discover -any
-  ghc-options:        -threaded -rtsopts -with-rtsopts=-maxN8
+  ghc-options:        -g -threaded -rtsopts -with-rtsopts=-maxN8
   hs-source-dirs:     cachix-deployment
   other-modules:      Paths_cachix
   autogen-modules:    Paths_cachix
diff --git a/src/Cachix/Client/Retry.hs b/src/Cachix/Client/Retry.hs
--- a/src/Cachix/Client/Retry.hs
+++ b/src/Cachix/Client/Retry.hs
@@ -4,11 +4,12 @@
   ( retryAll,
     retryAllWithLogging,
     endlessRetryPolicy,
+    endlessConstantRetryPolicy,
   )
 where
 
 import Control.Exception.Safe (Handler (..), MonadMask, isSyncException)
-import Control.Retry (RetryPolicy, RetryPolicyM, RetryStatus, exponentialBackoff, limitRetries, logRetries, recoverAll, recovering, skipAsyncExceptions)
+import Control.Retry (RetryPolicy, RetryPolicyM, RetryStatus, constantDelay, exponentialBackoff, limitRetries, logRetries, recoverAll, recovering, skipAsyncExceptions)
 import Protolude hiding (Handler (..))
 
 retryAll :: (MonadIO m, MonadMask m) => (RetryStatus -> m a) -> m a
@@ -28,6 +29,10 @@
 defaultRetryPolicy :: RetryPolicy
 defaultRetryPolicy =
   exponentialBackoff (1000 * 1000) <> limitRetries 5
+
+endlessConstantRetryPolicy :: RetryPolicy
+endlessConstantRetryPolicy =
+  constantDelay (1000 * 1000)
 
 endlessRetryPolicy :: RetryPolicy
 endlessRetryPolicy =
diff --git a/src/Cachix/Deploy/Websocket.hs b/src/Cachix/Deploy/Websocket.hs
--- a/src/Cachix/Deploy/Websocket.hs
+++ b/src/Cachix/Deploy/Websocket.hs
@@ -6,8 +6,10 @@
 import Cachix.Client.Retry
 import Cachix.Client.Version (versionNumber)
 import qualified Cachix.Deploy.WebsocketPong as WebsocketPong
+import Control.Retry (RetryStatus (..))
 import Data.Aeson (FromJSON, ToJSON)
 import Data.IORef
+import Data.String (String)
 import qualified Katip as K
 import Network.HTTP.Types (Header)
 import qualified Network.WebSockets as WS
@@ -47,12 +49,14 @@
         WebsocketPong.pingHandler pongState mainThreadID pongTimeout
       connectionOptions = WebsocketPong.installPongHandler pongState WS.defaultConnectionOptions
   runKatip $
-    retryAllWithLogging endlessRetryPolicy (logger runKatip) $
+    -- TODO: use exponential retry with reset: https://github.com/Soostone/retry/issues/25
+    retryAllWithLogging endlessConstantRetryPolicy (logger runKatip) $
       do
         K.logLocM K.InfoS $ K.ls ("Agent " <> agentIdentifier <> " connecting to " <> toS (host options) <> toS (path options))
         liftIO $ do
           -- refresh pong state in case we're reconnecting
           WebsocketPong.pongHandler pongState
+          -- TODO: https://github.com/jaspervdj/websockets/issues/229
           Wuss.runSecureClientWith (toS $ host options) 443 (toS $ path options) connectionOptions (headers options (toS agentToken)) $ \connection -> runKatip $ do
             K.logLocM K.InfoS "Connected to Cachix Deploy service"
             liftIO $
@@ -74,7 +78,13 @@
   ]
 
 -- TODO: log the exception
-logger runKatip _ exception _ = runKatip $ K.logLocM K.ErrorS $ K.ls $ "Retrying due to an exception:" <> displayException exception
+logger runKatip _ exception retryStatus =
+  runKatip $
+    K.logLocM K.ErrorS $ K.ls $ "Retrying in " <> delay (rsPreviousDelay retryStatus) <> " due to an exception: " <> displayException exception
+  where
+    delay :: Maybe Int -> String
+    delay Nothing = "0 seconds"
+    delay (Just s) = show (floor (fromIntegral s / 1000 / 1000)) <> " seconds"
 
 withKatip :: Bool -> (K.LogEnv -> IO a) -> IO a
 withKatip isVerbose =
