diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for taskwarrior
 
+## 0.6.0.4
+
+* GHC 9.4 compatibility
+
 ## 0.6.0.3
 
 * Bump bounds for aeson 2.1
diff --git a/src/Taskwarrior/IO.hs b/src/Taskwarrior/IO.hs
--- a/src/Taskwarrior/IO.hs
+++ b/src/Taskwarrior/IO.hs
@@ -16,10 +16,8 @@
 import Control.Monad (when)
 import qualified Data.Aeson as Aeson
 import qualified Data.ByteString as BS
-import qualified Data.ByteString.Lazy as LBS hiding (
-  putStrLn,
- )
-import qualified Data.ByteString.Lazy.Char8 as LBS
+import qualified Data.ByteString.Lazy as LBS
+import qualified Data.ByteString.Lazy.Char8 as LBSC
 import Data.Text (Text)
 import qualified Data.Text as Text
 import Data.Time (getCurrentTime)
@@ -77,7 +75,7 @@
       input <- LBS.hGetContents stdout
       maybe (fail "Couldn't parse UUIDs") return
         . traverse UUID.fromLazyASCIIBytes
-        . LBS.lines
+        . LBSC.lines
         $ input
 
 -- | Uses @task import@ to save the given tasks.
@@ -123,7 +121,7 @@
 onModify f = do
   original <- readTaskLine onModifyError
   modified <- readTaskLine onModifyError
-  LBS.putStrLn . Aeson.encode =<< f original modified
+  LBSC.putStrLn . Aeson.encode =<< f original modified
 
 readTaskLine :: String -> IO Task
 readTaskLine errorMsg =
@@ -136,6 +134,6 @@
 -- | Like onAddPure with side effects.
 onAdd :: (Task -> IO Task) -> IO ()
 onAdd f =
-  LBS.putStrLn . Aeson.encode =<< f
+  LBSC.putStrLn . Aeson.encode =<< f
     =<< readTaskLine
       "OnAdd hook couldn‘t parse task."
diff --git a/taskwarrior.cabal b/taskwarrior.cabal
--- a/taskwarrior.cabal
+++ b/taskwarrior.cabal
@@ -4,7 +4,7 @@
 -- PVP summary:     +-+------- breaking API changes
 --                  | | +----- non-breaking API additions
 --                  | | | +--- code changes with no API change
-version: 0.6.0.3
+version: 0.6.0.4
 synopsis:           Types and aeson instances for taskwarrior tasks
 description:
   Types and aeson instances for the https://taskwarrior.org task import/export feature
@@ -46,7 +46,7 @@
 
   build-depends:
     , aeson                 >=2.0.0.0  && < 2.2
-    , base                  >=4.11     && < 4.17
+    , base                  >=4.11     && < 4.18
     , bytestring            >=0.10.8.2 && < 0.12
     , containers            >=0.5.0.0  && < 0.7
     , process               ^>=1.6.5.0
