diff --git a/openai-hs.cabal b/openai-hs.cabal
--- a/openai-hs.cabal
+++ b/openai-hs.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 7ef8db4f28eb347b36dd01edc4bf2e52f6e66fdb9a247a17e00c311fec44ca1c
+-- hash: d37104a564e8bdbce4dfdc276b621def2716ecaad3d474f0646934fd1b1f034b
 
 name:           openai-hs
-version:        0.3.0.0
+version:        0.3.0.1
 synopsis:       Unofficial OpenAI client
 description:    Unofficial OpenAI client
 category:       Web
@@ -48,8 +48,6 @@
       DeriveGeneric
       DeriveFunctor
   ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates
-  build-tools:
-      cpphs
   build-depends:
       aeson
     , base >=4.7 && <5
@@ -89,8 +87,6 @@
       DeriveGeneric
       DeriveFunctor
   ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -threaded -rtsopts -with-rtsopts=-N
-  build-tools:
-      cpphs
   build-depends:
       aeson
     , base >=4.7 && <5
diff --git a/test/ApiSpec.hs b/test/ApiSpec.hs
--- a/test/ApiSpec.hs
+++ b/test/ApiSpec.hs
@@ -72,6 +72,25 @@
         res <- forceSuccess $ completeChat cli completion
         chrChoices res `shouldNotBe` []
         chmContent (chchMessage (head (chrChoices res))) `shouldBe` Just "down."
+      it "'content' is a required property" $ \cli -> do
+        let completion =
+              defaultChatCompletionRequest
+                (ModelId "gpt-3.5-turbo")
+                [ ChatMessage
+                    { chmRole = "assistant",
+                      chmContent = Nothing,
+                      chmFunctionCall = Just $ ChatFunctionCall { chfcName = "f", chfcArguments = "{}" },
+                      chmName = Nothing
+                    },
+                  ChatMessage
+                    { chmRole = "function",
+                      chmContent = Just "x",
+                      chmFunctionCall = Nothing,
+                      chmName = Just "f"
+                    }
+                ]
+        res <- forceSuccess $ completeChat cli completion
+        chrChoices res `shouldNotBe` []
 
     describe "edits api" $ do
       it "create edit" $ \cli -> do
