diff --git a/slack-web.cabal b/slack-web.cabal
index 4946954..4e0280f 100644
--- a/slack-web.cabal
+++ b/slack-web.cabal
@@ -1,5 +1,5 @@
 name: slack-web
-version: 0.2.0.10
+version: 0.2.0.11
 
 build-type: Simple
 cabal-version: 1.20
@@ -50,9 +50,9 @@ library
     , http-api-data >= 0.3 && < 0.5
     , http-client >= 0.5 && < 0.7
     , http-client-tls >= 0.3 && < 0.4
-    , servant >= 0.12 && < 0.16
-    , servant-client >= 0.12 && < 0.16
-    , servant-client-core >= 0.12 && < 0.16
+    , servant >= 0.12 && < 0.17
+    , servant-client >= 0.12 && < 0.17
+    , servant-client-core >= 0.12 && < 0.17
     , text >= 1.2 && < 1.3
     , transformers
     , mtl
diff --git a/src/Web/Slack.hs b/src/Web/Slack.hs
index 5606d6c..ae8deec 100644
--- a/src/Web/Slack.hs
+++ b/src/Web/Slack.hs
@@ -66,8 +66,7 @@ import Servant.API
 
 -- servant-client
 import Servant.Client hiding (Response, baseUrl)
-import Servant.Client.Core (Request, appendToQueryString, ServantError)
-import Servant.Client.Core.Internal.Auth
+import Servant.Client.Core (Request, appendToQueryString)
 
 -- slack-web
 import qualified Web.Slack.Api as Api
@@ -87,6 +86,14 @@ mkClientEnv :: Manager -> BaseUrl -> ClientEnv
 mkClientEnv = ClientEnv
 #endif
 
+#if MIN_VERSION_servant(0,16,0)
+import Servant.Client.Core (AuthenticatedRequest, AuthClientData, mkAuthenticatedRequest, ClientError)
+#else
+import Servant.Client.Core.Internal.Auth
+import Servant.Client.Core (ServantError)
+type ClientError = ServantError
+#endif
+
 class HasManager a where
     getManager :: a -> Manager
 
@@ -555,7 +562,7 @@ mkSlackAuthenticateReq :: (MonadReader env m, HasToken env)
   => m (AuthenticatedRequest (AuthProtect "token"))
 mkSlackAuthenticateReq = flip mkAuthenticatedRequest authenticateReq . getToken <$> ask
 
-unnestErrors :: Either ServantError (ResponseJSON a) -> Response a
+unnestErrors :: Either ClientError (ResponseJSON a) -> Response a
 unnestErrors (Right (ResponseJSON (Right a))) = Right a
 unnestErrors (Right (ResponseJSON (Left (ResponseSlackError serv))))
     = Left (Common.SlackError serv)
diff --git a/src/Web/Slack/Common.hs b/src/Web/Slack/Common.hs
index 1254309..6f8116d 100644
--- a/src/Web/Slack/Common.hs
+++ b/src/Web/Slack/Common.hs
@@ -4,6 +4,7 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE OverloadedLists #-}
+{-# LANGUAGE CPP #-}
 
 ----------------------------------------------------------------------
 -- |
@@ -52,6 +53,9 @@ import Web.Slack.Util
 -- text
 import Data.Text (Text)
 
+#if !MIN_VERSION_servant(0,16,0)
+type ClientError = ServantError
+#endif
 
 -- |
 --
@@ -138,7 +142,7 @@ $(deriveFromJSON (jsonOpts "historyRsp") ''HistoryRsp)
 -- |
 -- Errors that can be triggered by a slack request.
 data SlackClientError
-    = ServantError ServantError
+    = ServantError ClientError
     -- ^ errors from the network connection
     | SlackError Text
     -- ^ errors returned by the slack API