diff --git a/hls-plugin-api.cabal b/hls-plugin-api.cabal
--- a/hls-plugin-api.cabal
+++ b/hls-plugin-api.cabal
@@ -1,60 +1,61 @@
-cabal-version: 2.2
-name:          hls-plugin-api
-version:       0.4.1.0
-synopsis:      Haskell Language Server API for plugin communication
-description:
-  Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
-homepage:      https://github.com/haskell/haskell-language-server/hls-plugin-api
-bug-reports:   https://github.com/haskell/haskell-language-server/issues
-license:       Apache-2.0
-license-file:  LICENSE
-author:        Many,TBD when we release
-maintainer:    alan.zimm@gmail.com (for now)
-copyright:     Alan Zimmerman
-category:      Web
-build-type:    Simple
-
-flag pedantic
-  description: Enable -Werror
-  default:     False
-  manual:      True
-
-source-repository head
-  type:     git
-  location: https://github.com/haskell/haskell-language-0'3lk
-
-library
-  exposed-modules:
-    Ide.Logger
-    Ide.Plugin
-    Ide.Plugin.Config
-    Ide.Plugin.Formatter
-    Ide.Plugin.GhcIde
-    Ide.PluginUtils
-    Ide.Types
-
-  hs-source-dirs:   src
-  build-depends:
-    , aeson
-    , base                  >=4.12    && <5
-    , containers
-    , data-default
-    , Diff
-    , ghc
-    , ghc-boot-th
-    , ghcide                >=0.4
-    , haskell-lsp           ^>=0.22
-    , hslogger
-    , lens
-    , process
-    , regex-tdfa            >=1.3.1.0
-    , shake                 >=0.17.5
-    , text
-    , unordered-containers
-
-  ghc-options:      -Wall -Wredundant-constraints -Wno-name-shadowing
-
-  if flag(pedantic)
-    ghc-options: -Werror
-
-  default-language: Haskell2010
+cabal-version: 2.2
+name:          hls-plugin-api
+version:       0.5.0.0
+synopsis:      Haskell Language Server API for plugin communication
+description:
+  Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
+homepage:      https://github.com/haskell/haskell-language-server/hls-plugin-api
+bug-reports:   https://github.com/haskell/haskell-language-server/issues
+license:       Apache-2.0
+license-file:  LICENSE
+author:        Many,TBD when we release
+maintainer:    alan.zimm@gmail.com (for now)
+copyright:     Alan Zimmerman
+category:      Web
+build-type:    Simple
+
+flag pedantic
+  description: Enable -Werror
+  default:     False
+  manual:      True
+
+source-repository head
+  type:     git
+  location: https://github.com/haskell/haskell-language-server
+
+library
+  exposed-modules:
+    Ide.Logger
+    Ide.Plugin
+    Ide.Plugin.Config
+    Ide.Plugin.Formatter
+    Ide.Plugin.GhcIde
+    Ide.PluginUtils
+    Ide.Types
+
+  hs-source-dirs:   src
+  build-depends:
+    , aeson
+    , base                  >=4.12    && <5
+    , containers
+    , data-default
+    , Diff
+    , ghc
+    , ghc-boot-th
+    , ghcide                >=0.5
+    , haskell-lsp           ^>=0.22
+    , hashable
+    , hslogger
+    , lens
+    , process
+    , regex-tdfa            >=1.3.1.0
+    , shake                 >=0.17.5
+    , text
+    , unordered-containers
+
+  ghc-options:      -Wall -Wredundant-constraints -Wno-name-shadowing
+
+  if flag(pedantic)
+    ghc-options: -Werror
+
+  default-language: Haskell2010
diff --git a/src/Ide/Plugin.hs b/src/Ide/Plugin.hs
--- a/src/Ide/Plugin.hs
+++ b/src/Ide/Plugin.hs
@@ -12,10 +12,13 @@
       asGhcIdePlugin
     , pluginDescToIdePlugins
     , mkLspCommand
+    , mkLspCmdId
     , allLspCmdIds
     , allLspCmdIds'
     , getPid
     , responseError
+    , getClientConfig
+    , getClientConfigAction
     ) where
 
 import           Control.Exception(SomeException, catch)
@@ -24,6 +27,7 @@
 import qualified Data.Aeson as J
 import qualified Data.Default
 import           Data.Either
+import           Data.Hashable (unhashed)
 import qualified Data.List                     as List
 import qualified Data.Map  as Map
 import           Data.Maybe
@@ -31,6 +35,7 @@
 import           Development.IDE   hiding (pluginRules)
 import           Development.IDE.LSP.Server
 import           GHC.Generics
+import           Ide.Logger
 import           Ide.Plugin.Config
 import           Ide.Plugin.Formatter
 import           Ide.Types
@@ -587,4 +592,13 @@
 getClientConfig :: LSP.LspFuncs Config -> IO Config
 getClientConfig lf = fromMaybe Data.Default.def <$> LSP.config lf
 
+-- | Returns the client configurarion stored in the IdeState.
+-- You can use this function to access it from shake Rules
+getClientConfigAction :: Action Config
+getClientConfigAction = do
+  mbVal <- unhashed <$> useNoFile_ GetClientSettings
+  logm $ "getClientConfigAction:clientSettings:" ++ show mbVal
+  case J.fromJSON <$> mbVal of
+    Just (J.Success c) -> return c
+    _ -> return Data.Default.def
 -- ---------------------------------------------------------------------
