diff --git a/main.hs b/main.hs
--- a/main.hs
+++ b/main.hs
@@ -155,6 +155,12 @@
 defaultRescan :: Int
 defaultRescan = 10
 
+#if MIN_VERSION_optparse_applicative(0,10,0)
+option' = option auto
+#else
+option' = option
+#endif
+
 develOptions :: Parser Command
 develOptions = Devel <$> switch ( long "disable-api"  <> short 'd'
                             <> help "Disable fast GHC API rebuilding")
@@ -162,7 +168,7 @@
                             <> help "Run COMMAND after rebuild succeeds")
                      <*> optStr ( long "failure-hook" <> short 'f' <> metavar "COMMAND"
                             <> help "Run COMMAND when rebuild fails")
-                     <*> option ( long "event-timeout" <> short 't' <> value defaultRescan <> metavar "N"
+                     <*> option' ( long "event-timeout" <> short 't' <> value defaultRescan <> metavar "N"
                             <> help ("Force rescan of files every N seconds (default "
                                      ++ show defaultRescan
                                      ++ ", use -1 to rely on FSNotify alone)") )
@@ -172,9 +178,9 @@
                                    <> help "ignore file changes in DIR" )
                               )
                      <*> extraCabalArgs
-                     <*> option ( long "port" <> short 'p' <> value 3000 <> metavar "N"
+                     <*> option' ( long "port" <> short 'p' <> value 3000 <> metavar "N"
                             <> help "Devel server listening port" )
-                     <*> option ( long "proxy-timeout" <> short 'x' <> value 0 <> metavar "N"
+                     <*> option' ( long "proxy-timeout" <> short 'x' <> value 0 <> metavar "N"
                             <> help "Devel server timeout before returning 'not ready' message (in seconds, 0 for none)" )
                      <*> switch ( long "disable-reverse-proxy" <> short 'n'
                             <> help "Disable reverse proxy" )
@@ -189,7 +195,11 @@
 -- | Optional @String@ argument
 optStr :: Mod OptionFields (Maybe String) -> Parser (Maybe String)
 optStr m =
+#if MIN_VERSION_optparse_applicative(0,10,0)
+    nullOption (success . str) $ value Nothing <> m
+#else
     nullOption $ value Nothing <> reader (success . str)  <> m
+#endif
   where
 #if MIN_VERSION_optparse_applicative(0,6,0)
     success = ReadM . Right
diff --git a/yesod-bin.cabal b/yesod-bin.cabal
--- a/yesod-bin.cabal
+++ b/yesod-bin.cabal
@@ -1,5 +1,5 @@
 name:            yesod-bin
-version:         1.2.12.6
+version:         1.2.12.7
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -74,7 +74,7 @@
                      , system-fileio      >= 0.3          && < 0.4
                      , unordered-containers
                      , yaml               >= 0.8          && < 0.9
-                     , optparse-applicative >= 0.5        && <= 0.9.1.1
+                     , optparse-applicative >= 0.5
                      , fsnotify           >= 0.0          && < 0.2
                      , split              >= 0.2          && < 0.3
                      , file-embed
