diff --git a/hls-eval-plugin.cabal b/hls-eval-plugin.cabal
--- a/hls-eval-plugin.cabal
+++ b/hls-eval-plugin.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               hls-eval-plugin
-version:            2.5.0.0
+version:            2.6.0.0
 synopsis:           Eval plugin for Haskell Language Server
 description:
   Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
@@ -67,10 +67,10 @@
     , ghc
     , ghc-boot-th
     , ghc-paths
-    , ghcide                == 2.5.0.0
+    , ghcide                == 2.6.0.0
     , hashable
     , hls-graph
-    , hls-plugin-api        == 2.5.0.0
+    , hls-plugin-api        == 2.6.0.0
     , lens
     , lsp
     , lsp-types
@@ -112,7 +112,7 @@
     , filepath
     , hls-eval-plugin
     , hls-plugin-api
-    , hls-test-utils   == 2.5.0.0
+    , hls-test-utils   == 2.6.0.0
     , lens
     , lsp-types
     , text
diff --git a/src/Ide/Plugin/Eval.hs b/src/Ide/Plugin/Eval.hs
--- a/src/Ide/Plugin/Eval.hs
+++ b/src/Ide/Plugin/Eval.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE OverloadedStrings     #-}
 {-# LANGUAGE ScopedTypeVariables   #-}
 {-# OPTIONS_GHC -Wwarn #-}
 {-# LANGUAGE LambdaCase            #-}
@@ -34,7 +35,7 @@
 -- |Plugin descriptor
 descriptor :: Recorder (WithPriority Log) -> PluginId -> PluginDescriptor IdeState
 descriptor recorder plId =
-    (defaultPluginDescriptor plId)
+    (defaultPluginDescriptor plId "Provies a code lens to evaluate expressions in doctest comments")
         { pluginHandlers = mkPluginHandler SMethod_TextDocumentCodeLens CL.codeLens
         , pluginCommands = [CL.evalCommand plId]
         , pluginRules = rules (cmapWithPrio LogEvalRules recorder)
diff --git a/src/Ide/Plugin/Eval/CodeLens.hs b/src/Ide/Plugin/Eval/CodeLens.hs
--- a/src/Ide/Plugin/Eval/CodeLens.hs
+++ b/src/Ide/Plugin/Eval/CodeLens.hs
@@ -116,7 +116,8 @@
 import           Ide.Plugin.Eval.GHC                          (addImport,
                                                                addPackages,
                                                                hasPackage,
-                                                               showDynFlags)
+                                                               showDynFlags,
+                                                               setSessionAndInteractiveDynFlags)
 import           Ide.Plugin.Eval.Parse.Comments               (commentsToSections)
 import           Ide.Plugin.Eval.Parse.Option                 (parseSetFlags)
 import           Ide.Plugin.Eval.Rules                        (queueForEvaluation,
@@ -465,9 +466,7 @@
                                 <> T.pack (intercalate ", " $ map SrcLoc.unLoc ignoreds)
                                 ]
                     dbg "post set" $ showDynFlags df'
-                    _ <- setSessionDynFlags df'
-                    sessDyns <- getSessionDynFlags
-                    setInteractiveDynFlags sessDyns
+                    setSessionAndInteractiveDynFlags df'
                     pure $ warnings <> igns
         | -- A type/kind command
           Just (cmd, arg) <- parseGhciLikeCmd $ T.pack stmt =
@@ -689,4 +688,3 @@
 parseGhciLikeCmd input = do
     (':', rest) <- T.uncons $ T.stripStart input
     pure $ second T.strip $ T.break isSpace rest
-
diff --git a/src/Ide/Plugin/Eval/GHC.hs b/src/Ide/Plugin/Eval/GHC.hs
--- a/src/Ide/Plugin/Eval/GHC.hs
+++ b/src/Ide/Plugin/Eval/GHC.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                 #-}
 {-# LANGUAGE LambdaCase          #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE StandaloneDeriving  #-}
@@ -11,6 +12,7 @@
     addPackages,
     modifyFlags,
     showDynFlags,
+    setSessionAndInteractiveDynFlags,
 ) where
 
 import           Data.List                       (isPrefixOf)
@@ -25,6 +27,12 @@
 import           GHC.LanguageExtensions.Type     (Extension (..))
 import           Ide.Plugin.Eval.Util            (gStrictTry)
 
+#if MIN_VERSION_ghc(9,3,0)
+import           GHC                             (setUnitDynFlags, setTopSessionDynFlags)
+import           GHC.Driver.Session              (getDynFlags)
+import           GHC.Driver.Env
+#endif
+
 {- $setup
 >>> import GHC
 >>> import GHC.Paths
@@ -164,3 +172,16 @@
 
 vList :: [String] -> SDoc
 vList = vcat . map text
+
+setSessionAndInteractiveDynFlags :: DynFlags -> Ghc ()
+setSessionAndInteractiveDynFlags df = do
+#if MIN_VERSION_ghc(9,3,0)
+    _ <- setUnitDynFlags (homeUnitId_ df) df
+    modifySession (hscUpdateLoggerFlags . hscSetActiveUnitId (homeUnitId_ df))
+    df' <- getDynFlags
+    setTopSessionDynFlags df'
+#else
+    _ <- setSessionDynFlags df
+#endif
+    sessDyns <- getSessionDynFlags
+    setInteractiveDynFlags sessDyns
