diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,9 @@
+## [4.0.2] 
+
+### Added
+
+- Fixed `keyHashFromText`
+
 ## [4.0.1] - 2025-10-30
 
 ### Added
diff --git a/cardano-addresses.cabal b/cardano-addresses.cabal
--- a/cardano-addresses.cabal
+++ b/cardano-addresses.cabal
@@ -1,7 +1,7 @@
 cabal-version: 1.12
 
 name:           cardano-addresses
-version:        4.0.1
+version:        4.0.2
 synopsis:       Utils for constructing a command-line on top of cardano-addresses.
 description:    Please see the README on GitHub at <https://github.com/IntersectMBO/cardano-addresses>
 category:       Cardano
diff --git a/lib/Cardano/Address/KeyHash.hs b/lib/Cardano/Address/KeyHash.hs
--- a/lib/Cardano/Address/KeyHash.hs
+++ b/lib/Cardano/Address/KeyHash.hs
@@ -250,9 +250,9 @@
  where
     convertBytes hrp bytes
         | hrp == CIP5.addr_shared_vkh && checkBSLength bytes 28 =
-              Just (Payment, bytes)
+              Just (PaymentShared, bytes)
         | hrp == CIP5.stake_shared_vkh && checkBSLength bytes 28 =
-              Just (Delegation, bytes)
+              Just (DelegationShared, bytes)
         | hrp == CIP5.addr_vkh && checkBSLength bytes 28 =
               Just (Payment, bytes)
         | hrp == CIP5.stake_vkh && checkBSLength bytes 28 =
@@ -296,19 +296,19 @@
         | hrp == CIP5.cc_hot_vkh && checkBSLength bytes 28 =
               Just (CommitteeHot, bytes)
         | hrp == CIP5.addr_shared_vk && checkBSLength bytes 32 =
-              Just (Payment, hashCredential bytes)
+              Just (PaymentShared, hashCredential bytes)
         | hrp == CIP5.addr_vk && checkBSLength bytes 32 =
               Just (Payment, hashCredential bytes)
         | hrp == CIP5.addr_shared_xvk && checkBSLength bytes 64 =
-              Just (Payment, hashCredential $ BS.take 32 bytes)
+              Just (PaymentShared, hashCredential $ BS.take 32 bytes)
         | hrp == CIP5.addr_xvk && checkBSLength bytes 64 =
               Just (Payment, hashCredential $ BS.take 32 bytes)
         | hrp == CIP5.stake_shared_vk && checkBSLength bytes 32 =
-              Just (Delegation, hashCredential bytes)
+              Just (DelegationShared, hashCredential bytes)
         | hrp == CIP5.stake_vk && checkBSLength bytes 32 =
               Just (Delegation, hashCredential bytes)
         | hrp == CIP5.stake_shared_xvk && checkBSLength bytes 64 =
-              Just (Delegation, hashCredential $ BS.take 32 bytes)
+              Just (DelegationShared, hashCredential $ BS.take 32 bytes)
         | hrp == CIP5.stake_xvk && checkBSLength bytes 64 =
               Just (Delegation, hashCredential $ BS.take 32 bytes)
         | hrp == CIP5.policy_vk && checkBSLength bytes 32 =
diff --git a/test/Cardano/Address/Script/ParserSpec.hs b/test/Cardano/Address/Script/ParserSpec.hs
--- a/test/Cardano/Address/Script/ParserSpec.hs
+++ b/test/Cardano/Address/Script/ParserSpec.hs
@@ -64,11 +64,11 @@
         (cosigner0,cosigner0Txt)
   where
     verKeyH1 = "addr_shared_vkh1zxt0uvrza94h3hv4jpv0ttddgnwkvdgeyq8jf9w30mcs6y8w3nq" :: Text
-    kh1 = KeyHash Payment (unBech32 verKeyH1)
+    kh1 = KeyHash PaymentShared (unBech32 verKeyH1)
     verKeyH2 = "addr_shared_vkh1y3zl4nqgm96ankt96dsdhc86vd5geny0wr7hu8cpzdfcqskq2cp" :: Text
-    kh2 = KeyHash Payment (unBech32 verKeyH2)
+    kh2 = KeyHash PaymentShared (unBech32 verKeyH2)
     verKeyH3 = "addr_shared_vkh175wsm9ckhm3snwcsn72543yguxeuqm7v9r6kl6gx57h8gdydcd9" :: Text
-    kh3 = KeyHash Payment (unBech32 verKeyH3)
+    kh3 = KeyHash PaymentShared (unBech32 verKeyH3)
 
     script1 txt = "all ["<>txt<>"]"
     script2 txt = " all   [ "<>txt<>"  ] "
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -14,7 +14,7 @@
 --  https://github.com/haskell-foundation/foundation/blob/5e28e3ea1e2fe9a98c157df463bd32d3f92e7f80/basement/Basement/Terminal.hs#L14-L26
 #ifdef mingw32_HOST_OS
 import System.IO
-    ( hPutStrLn, hSetEncoding, stderr, stdin, stdout, utf8 )
+    ( hSetEncoding, stderr, stdin, stdout, utf8 )
 import System.Win32.Console
     ( getConsoleCP, getConsoleOutputCP, setConsoleCP, setConsoleOutputCP )
 #endif
