diff --git a/ghc-check.cabal b/ghc-check.cabal
--- a/ghc-check.cabal
+++ b/ghc-check.cabal
@@ -1,7 +1,7 @@
 cabal-version:       1.20
 build-type:          Simple
 name:                ghc-check
-version:             0.5.0.5
+version:             0.5.0.6
 synopsis:            detect mismatches between compile-time and run-time versions of the ghc api
 description:         detect mismatches between compile-time and run-time versions of the ghc api
 bug-reports:         https://github.com/pepeiborra/ghc-check/issues
@@ -34,6 +34,9 @@
                        template-haskell,
                        th-compat >= 0.1.2,
                        transformers
+  if impl(ghc >= 9.2)
+      -- We need access to ShortText
+      build-depends: ghc-boot
   hs-source-dirs:      src
   ghc-options:         -Wall
   default-language:    Haskell2010
diff --git a/src/GHC/Check/PackageDb.hs b/src/GHC/Check/PackageDb.hs
--- a/src/GHC/Check/PackageDb.hs
+++ b/src/GHC/Check/PackageDb.hs
@@ -20,8 +20,23 @@
 import Language.Haskell.TH.Syntax (Lift)
 import Data.Foldable (find)
 import Control.Applicative (Alternative((<|>)))
-#if MIN_VERSION_ghc(9,0,1)
+#if MIN_VERSION_ghc(9,2,0)
 import GHC
+  (Ghc,
+    getSession,
+  )
+import GHC.Data.Maybe (MaybeT (MaybeT), runMaybeT)
+import qualified GHC.Data.ShortText as ShortText
+import GHC.Driver.Env (hsc_unit_env, )
+import GHC.Unit.Info (PackageName (PackageName))
+import GHC.Unit.Env (ue_units)
+import GHC.Unit.State
+  (lookupUnit, explicitUnits,  lookupUnitId,
+    lookupPackageName, GenericUnitInfo (..),
+    UnitInfo, unitPackageNameString)
+import GHC.Unit.Types (indefUnit)
+#elif MIN_VERSION_ghc(9,0,1)
+import GHC
   (unitState,  Ghc,
     getSessionDynFlags,
   )
@@ -62,7 +77,30 @@
 version :: PackageVersion -> Version
 version PackageVersion{ myVersion = MyVersion v} = v
 
-#if MIN_VERSION_ghc(9,0,1)
+#if MIN_VERSION_ghc(9,2,0)
+-- | @getPackageVersion p@ returns the version of package @p@ that will be used in the Ghc session.
+getPackageVersion :: String -> Ghc (Maybe PackageVersion)
+getPackageVersion pName = runMaybeT $ do
+  hsc_env <- Monad.lift getSession
+  let pkgst   = ue_units $ hsc_unit_env hsc_env
+      depends = explicitUnits pkgst
+
+  let explicit = do
+        pkgs <- traverse (MaybeT . return . lookupUnit pkgst) depends
+        MaybeT $ return $ find (\p -> unitPackageNameString p == pName ) pkgs
+
+      notExplicit = do
+        component <- MaybeT $ return $ lookupPackageName pkgst $ PackageName $ fromString pName
+        MaybeT $ return $ lookupUnitId pkgst (indefUnit component)
+
+  p <- explicit <|> notExplicit
+
+  return $ fromPackageConfig p
+
+fromPackageConfig :: UnitInfo -> PackageVersion
+fromPackageConfig p = PackageVersion (MyVersion $ unitPackageVersion p) (Just $ ShortText.unpack $ unitAbiHash p)
+
+#elif MIN_VERSION_ghc(9,0,1)
 -- | @getPackageVersion p@ returns the version of package @p@ that will be used in the Ghc session.
 getPackageVersion :: String -> Ghc (Maybe PackageVersion)
 getPackageVersion pName = runMaybeT $ do
