diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,13 @@
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
 and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/).
 
-## [Unreleased]
+## [1.1.0] - 2026-08-04
+
+### Changed
+
+- `settingsFork` and `setFork` take unlift parameter, improving performance.
+
+## [1.0.0] - 2026-07-27
 
 ### Added
 
diff --git a/src/Effectful/Wai/Handler/Warp.hs b/src/Effectful/Wai/Handler/Warp.hs
--- a/src/Effectful/Wai/Handler/Warp.hs
+++ b/src/Effectful/Wai/Handler/Warp.hs
@@ -206,7 +206,10 @@
     , settingsFdCacheDuration :: Int
     , settingsFileInfoCacheDuration :: Int
     , settingsBeforeMainLoop :: Eff es ()
-    , settingsFork :: ((forall a. Eff es a -> Eff es a) -> Eff es ()) -> Eff es ()
+    , settingsFork
+        :: (forall r. Eff es r -> IO r)
+        -> ((forall a. Eff es a -> Eff es a) -> Eff es ())
+        -> Eff es ()
     , settingsAccept :: Socket -> Eff es (Socket, SockAddr)
     , settingsNoParsePath :: Bool
     , settingsInstallShutdownHandler :: Eff es () -> Eff es ()
@@ -236,10 +239,9 @@
         , settingsOnOpen = liftIO . settingsOnOpen
         , settingsOnClose = liftIO . settingsOnClose
         , settingsBeforeMainLoop = liftIO settingsBeforeMainLoop
-        , settingsFork = \inner ->
-            withEffToIO (ConcUnlift Persistent Unlimited) \unlift ->
-                void $ forkIOWithUnmask \unmask ->
-                    unlift . inner $ liftIO . unmask . unlift
+        , settingsFork = \unlift inner ->
+            liftIO . void $ forkIOWithUnmask \unmask ->
+                unlift . inner $ liftIO . unmask . unlift
         , settingsAccept = liftIO . accept
         , settingsInstallShutdownHandler = \_close -> pure ()
         , settingsLogger = \req s ms -> liftIO (settingsLogger (unliftRequestNoBody req) s ms)
@@ -257,10 +259,9 @@
         , settingsOnOpen = liftIO . settingsOnOpen
         , settingsOnClose = liftIO . settingsOnClose
         , settingsBeforeMainLoop = liftIO settingsBeforeMainLoop
-        , settingsFork = \effInner ->
-            withEffToIO (ConcUnlift Persistent Unlimited) \unlift ->
-                settingsFork \ioUnmask ->
-                    unlift . effInner $ liftIO . ioUnmask . unlift
+        , settingsFork = \unlift effInner ->
+            liftIO $ settingsFork \ioUnmask ->
+                unlift . effInner $ liftIO . ioUnmask . unlift
         , settingsAccept = liftIO . settingsAccept
         , settingsInstallShutdownHandler = \closeEff ->
             withEffToIO SeqUnlift \unlift ->
@@ -278,7 +279,7 @@
         , settingsOnOpen = unlift . settingsOnOpen
         , settingsOnClose = unlift . settingsOnClose
         , settingsBeforeMainLoop = unlift settingsBeforeMainLoop
-        , settingsFork = \ioInner -> unlift $ settingsFork \effUnmask -> liftIO . ioInner $ unlift . effUnmask . liftIO
+        , settingsFork = \ioInner -> unlift $ settingsFork unlift \effUnmask -> liftIO . ioInner $ unlift . effUnmask . liftIO
         , settingsAccept = unlift . settingsAccept
         , settingsInstallShutdownHandler = unlift . settingsInstallShutdownHandler . liftIO
         , settingsLogger = \req st ms -> unlift (settingsLogger (liftRequest req) st ms)
@@ -376,7 +377,10 @@
 
 -- | Lifted 'Warp.setFork'.
 setFork
-    :: (((forall a. Eff es a -> Eff es a) -> Eff es ()) -> Eff es ())
+    :: ( (forall r. Eff es r -> IO r)
+         -> ((forall a. Eff es a -> Eff es a) -> Eff es ())
+         -> Eff es ()
+       )
     -> Settings es
     -> Settings es
 setFork v s = s{settingsFork = v}
diff --git a/warp-effectful.cabal b/warp-effectful.cabal
--- a/warp-effectful.cabal
+++ b/warp-effectful.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name: warp-effectful
-version: 1.0.0
+version: 1.1.0
 synopsis: Effectful bindings for the warp library
 description:
   Adaptation of the @<https://hackage.haskell.org/package/warp warp>@ library for the @<https://hackage.haskell.org/package/effectful effectful>@ ecosystem.
