diff --git a/lua/cosmic/lsp/providers/defaults.lua b/lua/cosmic/lsp/providers/defaults.lua
index 09590b3..12a7f08 100644
--- a/lua/cosmic/lsp/providers/defaults.lua
+++ b/lua/cosmic/lsp/providers/defaults.lua
@@ -16,7 +16,7 @@ function M.on_attach(client, bufnr)
   buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
 
   if user_config.lsp.inlay_hint and client.supports_method('textDocument/inlayHint') then
-    vim.lsp.inlay_hint(bufnr, true)
+    vim.lsp.inlay_hint.enable(true, { bufnr = bufnr })
   end
 
   if client.supports_method('textDocument/formatting') then
diff --git a/lua/cosmic/utils/lsp.lua b/lua/cosmic/utils/lsp.lua
index f925ed6..c9ea92a 100644
--- a/lua/cosmic/utils/lsp.lua
+++ b/lua/cosmic/utils/lsp.lua
@@ -101,7 +101,9 @@ function M.toggle_inlay_hints()
   local enabled = user_config.lsp.inlay_hint
   return function()
     enabled = not enabled
-    vim.lsp.inlay_hint(vim.api.nvim_get_current_buf() or 0, enabled)
+    vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({
+      bufnr = vim.api.nvim_get_current_buf() or 0,
+    }))
   end
 end