diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,15 @@
 The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
 
+## [1.7.4] - 2024-05-24
+
+### Fixed
+
+- :ignore sigPIPE on macOS after initialising nix
+
 ## [1.7.3] - 2024-05-17
+
+### Fixed
 
 - daemon: implement robust shutdown handling and fix occasional hangs
 - daemon: respect RUNNER_TEMP
diff --git a/cachix.cabal b/cachix.cabal
--- a/cachix.cabal
+++ b/cachix.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               cachix
-version:            1.7.3
+version:            1.7.4
 synopsis:
   Command-line client for Nix binary cache hosting https://cachix.org
 
diff --git a/src/Cachix/Client.hs b/src/Cachix/Client.hs
--- a/src/Cachix/Client.hs
+++ b/src/Cachix/Client.hs
@@ -24,10 +24,10 @@
   (flags, command) <- getOpts
   env <- mkEnv flags
 
-  installSignalHandlers
-
   initNixStore
 
+  installSignalHandlers
+
   let cachixOptions = cachixoptions env
   case command of
     AuthToken token -> Commands.authtoken env token
@@ -52,8 +52,8 @@
 installSignalHandlers :: IO ()
 installSignalHandlers = do
   -- Ignore sigPIPE.
-  -- By default, sigPIPE will crash the entire program when the reading end of a pipe is closed.
-  -- By ignoring sigPIPE, an exception is thrown inline instead, which we can handle.
+  -- The default handler terminates the process.
+  -- WARN: may be reset to SIG_DFL when initializing the Nix library.
   _ <- Signal.installHandler Signal.sigPIPE Signal.Ignore Nothing
 
   return ()
