diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
 # Revision history for breakpoint
 
+## 0.1.1.1 -- 2022-11-02
+* Support `IsString` version of string literals in `excludeVars`
+
 ## 0.1.1.0 -- 2022-10-30
 
 * Support for GHC 9.4.*
diff --git a/breakpoint.cabal b/breakpoint.cabal
--- a/breakpoint.cabal
+++ b/breakpoint.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               breakpoint
-version:            0.1.1.0
+version:            0.1.1.1
 synopsis:
   Set breakpoints using a GHC plugin
 
@@ -50,7 +50,7 @@
 
 test-suite spec
   main-is: Spec.hs
-  other-modules: ApplicativeDo
+  other-modules: ApplicativeDo, OverloadedStrings
   hs-source-dirs: test
   build-depends: base, tasty, tasty-hunit, breakpoint, containers
   type: exitcode-stdio-1.0
diff --git a/src/Debug/Breakpoint.hs b/src/Debug/Breakpoint.hs
--- a/src/Debug/Breakpoint.hs
+++ b/src/Debug/Breakpoint.hs
@@ -433,9 +433,13 @@
        else do
          let extractVarName (Ghc.HsLit _ (Ghc.HsString _ fs)) =
                Just $ Ghc.mkLexicalFastString fs
+             extractVarName (Ghc.HsOverLit _ (Ghc.OverLit' (Ghc.HsIsString _ fs))) =
+               Just $ Ghc.mkLexicalFastString fs
              extractVarName _ = Nothing
+
              varsToExclude =
                mapMaybe (extractVarName . Ghc.unLoc) exprsToExclude
+
          Just <$>
            mapWriterT
             (local (overVarSet $ \vs -> foldr M.delete vs varsToExclude))
diff --git a/src/Debug/Breakpoint/GhcFacade.hs b/src/Debug/Breakpoint/GhcFacade.hs
--- a/src/Debug/Breakpoint/GhcFacade.hs
+++ b/src/Debug/Breakpoint/GhcFacade.hs
@@ -21,6 +21,7 @@
   , pattern LetStmt'
   , pattern ExplicitList'
   , pattern BindStmt'
+  , pattern OverLit'
   ) where
 
 #if MIN_VERSION_ghc(9,4,0)
@@ -351,4 +352,14 @@
     BindStmt' x pat body _ _ = Ghc.BindStmt x pat body
 #else
 pattern BindStmt' x pat body bindExpr failExpr = Ghc.BindStmt x pat body bindExpr failExpr
+#endif
+
+pattern OverLit'
+  :: Ghc.OverLitVal
+  -> Ghc.HsOverLit Ghc.GhcRn
+pattern OverLit' lit
+#if MIN_VERSION_ghc(9,4,0)
+  <- Ghc.OverLit _ lit
+#else
+  <- Ghc.OverLit _ lit _
 #endif
diff --git a/test/OverloadedStrings.hs b/test/OverloadedStrings.hs
new file mode 100644
--- /dev/null
+++ b/test/OverloadedStrings.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE OverloadedStrings #-}
+module OverloadedStrings
+  ( testTree
+  ) where
+
+import qualified Data.Map as M
+import           Test.Tasty
+import           Test.Tasty.HUnit
+
+import           Debug.Breakpoint
+
+-- Needs to be a separate module b/c ApplicativeDo affects other tests
+
+testTree :: TestTree
+testTree = testGroup "IsString"
+  [ testCase "exclude vars" excludeVarsTest
+  ]
+
+excludeVarsTest :: Assertion
+excludeVarsTest = do
+  let m = test23
+  m @?= M.fromList [("x", "True")]
+
+test23 :: M.Map String String
+test23 =
+  let x = True
+      y = False
+   in excludeVars ["y"] captureVars
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -11,6 +11,7 @@
 
 import           Debug.Breakpoint
 import qualified ApplicativeDo as ApDo
+import qualified OverloadedStrings as OS
 
 main :: IO ()
 main = defaultMain testTree
@@ -42,6 +43,7 @@
     , testCase "Shows type that subclass for Show" showFixedPointNumber
     , testCase "exclude vars" excludeVarsTest
     , ApDo.testTree
+    , OS.testTree
     ]
     -- TODO
     -- Implicit Params
