diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for `cabal-plan`
 
+## 0.7.2.2
+
+* Use Cabal-syntax-3.8.1.0
+
 ## 0.7.2.1
 
 * Support Cabal-3.6
diff --git a/cabal-plan.cabal b/cabal-plan.cabal
--- a/cabal-plan.cabal
+++ b/cabal-plan.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                cabal-plan
-version:             0.7.2.1
+version:             0.7.2.2
 
 synopsis:            Library and utility for processing cabal's plan.json file
 description: {
@@ -25,7 +25,7 @@
 [topo] Print plan topologically sorted
 [license-report] Generate license report for a component (only available when built with @license-report@ flag enabled); see <src/example/cabal-plan.md report example for cabal-plan> (<src/example/cabal-plan.html Pandoc rendered HTML>)
 .
-See also ["New things in Haskell package QA" Blogpost](http://oleg.fi/gists/posts/2018-01-08-haskell-package-qa.html) for a description of the @topo@ and @dot@ operations as well as how to enable tab-completion.
+See also ["New things in Haskell package QA" Blogpost](https://oleg.fi/gists/posts/2018-01-08-haskell-package-qa.html) for a description of the @topo@ and @dot@ operations as well as how to enable tab-completion.
 }
 
 bug-reports:         https://github.com/hvr/cabal-plan/issues
@@ -38,8 +38,10 @@
 build-type:          Simple
 
 tested-with:
-  GHC==9.0.1,
-  GHC==8.10.4,
+  GHC==9.4.1,
+  GHC==9.2.4,
+  GHC==9.0.2,
+  GHC==8.10.7,
   GHC==8.8.4,
   GHC==8.6.5,
   GHC==8.4.4,
@@ -74,13 +76,13 @@
                        RecordWildCards
   exposed-modules:     Cabal.Plan
 
-  build-depends:       base              ^>= 4.10 || ^>=4.11 || ^>=4.12 || ^>=4.13 || ^>=4.14 || ^>=4.15
-                     , aeson             ^>= 1.5.4.0 || ^>= 2.0.0.0
-                     , bytestring        ^>= 0.10.8.0
+  build-depends:       base              ^>= 4.10.0.0 || ^>=4.11.0.0 || ^>=4.12.0.0 || ^>=4.13.0.0 || ^>=4.14.0.0 || ^>=4.15.0.0 || ^>=4.16.0.0 || ^>=4.17.0.0
+                     , aeson             ^>= 2.0.0.0 || ^>=2.1.0.0
+                     , bytestring        ^>= 0.10.8.0 || ^>=0.11.1.0
                      , containers        ^>= 0.5.10 || ^>= 0.6.0.1
-                     , text              ^>= 1.2.3
-                     , directory         ^>= 1.3.0
-                     , filepath          ^>= 1.4.1
+                     , text              ^>= 1.2.3 || ^>=2.0.1
+                     , directory         ^>= 1.3.0.2
+                     , filepath          ^>= 1.4.1.2
                      , base16-bytestring ^>= 1.0.0.0
 
   hs-source-dirs:      src
@@ -112,23 +114,21 @@
     build-depends: mtl            ^>= 2.2.2
                  , async          ^>= 2.2.2
                  , ansi-terminal  ^>= 0.11
-                 , base-compat    ^>= 0.11 || ^>=0.12
+                 , base-compat    ^>= 0.12
                  , optics-core    ^>= 0.4
-                 , optparse-applicative ^>= 0.16.0.0
+                 , optparse-applicative ^>=0.17.0.0
                  , parsec         ^>= 3.1.13
                  , process        ^>= 1.6.1.0
                  , semialign      ^>= 1.2
                  , singleton-bool ^>= 0.1.5
                  , these          ^>= 1.1
-                 , topograph      ^>= 1
+                 , topograph      ^>= 1.0.0.2
                  , transformers   ^>= 0.5.2.0
-                 , vector         ^>= 0.12.0.1
+                 , vector         ^>= 0.12.0.1 || ^>=0.13.0.0
 
     if flag(license-report)
-      -- we define orphan instance
-      -- https://github.com/haskell/cabal/issues/7582
-      build-depends: Cabal    ^>=3.6.2.0
-                   , cabal-install-parsers ^>=0.4
+      build-depends: Cabal-syntax    ^>=3.8.1.0
+                   , cabal-install-parsers ^>=0.5
                    , tar      ^>= 0.5.1.0
                    , zlib     ^>= 0.6.2
                    , filepath ^>= 1.4.1.1
diff --git a/src-exe/cabal-plan.hs b/src-exe/cabal-plan.hs
--- a/src-exe/cabal-plan.hs
+++ b/src-exe/cabal-plan.hs
@@ -152,16 +152,18 @@
         components = findComponents plan
 
     -- One scenario
-    -- $ cabal-plan list-bin cab<TAB>
-    -- $ cabal-plan list-bin cabal-plan<TAB>
-    -- $ cabal-plan list-bin cabal-plan:exe:cabal-plan
     --
+    -- cabal-plan list-bin cab<TAB>
+    -- cabal-plan list-bin cabal-plan<TAB>
+    -- cabal-plan list-bin cabal-plan:exe:cabal-plan
+    --
     -- Note: if this package had `tests` -suite, then we can
-    -- $ cabal-plan list-bin te<TAB>
-    -- $ cabal-plan list-bin tests<TAB>
-    -- $ cabal-plan list-bin cabal-plan:test:tests
     --
-    -- *BUT* at least zsh script have to be changed to complete from non-prefix.
+    -- cabal-plan list-bin te<TAB>
+    -- cabal-plan list-bin tests<TAB>
+    -- cabal-plan list-bin cabal-plan:test:tests
+    --
+    -- BUT at least zsh script have to be changed to complete from non-prefix.
     return $ map T.unpack $ firstNonEmpty
         -- 1. if tpfx matches component exacty, return full path
         [ single $ map fst $ filter ((tpfx ==) . snd) components
