diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,13 @@
 
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 
+## v0.2.6.2.2.1 - 2023-11-21
+
+### Added
+
+- Building with `lsp-1.6`.
+  Builds with `lsp` < 1.7 on GHC 8.10 (LTS 18.28), 9.0 (LTS 19.33), and 9.2 (LTS 20.26)
+
 ## v0.2.6.2.2 - 2023-11-21
 
 ### Changed
diff --git a/agda-language-server.cabal b/agda-language-server.cabal
--- a/agda-language-server.cabal
+++ b/agda-language-server.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           agda-language-server
-version:        0.2.6.2.2
+version:        0.2.6.2.2.1
 synopsis:       An implementation of language server protocal (LSP) for Agda 2.
 description:    Please see the README on GitHub at <https://github.com/agda/agda-language-server#readme>
 category:       Development
@@ -23,6 +23,7 @@
     package.yaml
     stack.yaml
     stack-8.10.yaml
+    stack-9.0.yaml
 
 source-repository head
   type: git
@@ -70,7 +71,7 @@
     , base >=4.7 && <5
     , bytestring
     , containers
-    , lsp <1.5
+    , lsp <1.7
     , mtl
     , network
     , network-simple
@@ -98,7 +99,7 @@
     , base >=4.7 && <5
     , bytestring
     , containers
-    , lsp <1.5
+    , lsp <1.7
     , mtl
     , network
     , network-simple
@@ -153,7 +154,7 @@
     , base >=4.7 && <5
     , bytestring
     , containers
-    , lsp <1.5
+    , lsp <1.7
     , mtl
     , network
     , network-simple
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name:                agda-language-server
-version:             0.2.6.2.2
+version:             0.2.6.2.2.1
 github:              "banacorn/agda-language-server"
 license:             MIT
 author:              "Ting-Gian LUA"
@@ -12,6 +12,7 @@
 - package.yaml
 - stack.yaml
 - stack-8.10.yaml
+- stack-9.0.yaml
 
 # Metadata used when publishing your package
 synopsis:            An implementation of language server protocal (LSP) for Agda 2.
@@ -33,7 +34,7 @@
   - aeson
   - bytestring
   - containers
-  - lsp < 1.5
+  - lsp < 1.7
   - mtl
   - network
   - network-simple
diff --git a/src/Server.hs b/src/Server.hs
--- a/src/Server.hs
+++ b/src/Server.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveGeneric #-}
 
 -- entry point of the LSP server
@@ -44,7 +45,11 @@
         $ \(sock, _remoteAddr) -> do
             -- writeChan (envLogChan env) "[Server] connection established"
             handle <- socketToHandle sock ReadWriteMode
-            _      <- runServerWithHandles handle handle (serverDefn options)
+            _      <- runServerWithHandles
+#if MIN_VERSION_lsp(1,5,0)
+                        mempty mempty
+#endif
+                        handle handle (serverDefn options)
             return ()
       -- Switchboard.destroy switchboard
       return 0
@@ -103,9 +108,8 @@
         = req
     result <- Handler.onHover uri pos
     responder $ Right result
-  -- -- syntax highlighting 
+  -- -- syntax highlighting
   -- , requestHandler STextDocumentSemanticTokensFull $ \req responder -> do
   --   result <- Handler.onHighlight (req ^. (params . textDocument . uri))
   --   responder result
   ]
-
diff --git a/stack-9.0.yaml b/stack-9.0.yaml
new file mode 100644
--- /dev/null
+++ b/stack-9.0.yaml
@@ -0,0 +1,16 @@
+resolver: lts-19.33
+compiler: ghc-9.0.2
+# Allow a newer minor version of GHC than the snapshot specifies
+compiler-check: newer-minor
+
+packages:
+- .
+
+# Use some newer versions than in the lts-19.33 snapshot
+extra-deps:
+- text-icu-0.8.0.1
+
+flags:
+  Agda:
+    # optimise-heavily: true
+    enable-cluster-counting: true
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,14 +1,10 @@
-resolver: lts-19.33
-compiler: ghc-9.0.2
+resolver: lts-20.26
+compiler: ghc-9.2.8
 # Allow a newer minor version of GHC than the snapshot specifies
 compiler-check: newer-minor
 
 packages:
 - .
-
-# Use some newer versions than in the lts-19.33 snapshot
-extra-deps:
-- text-icu-0.8.0.1
 
 flags:
   Agda:
