diff --git a/mdoc.cabal b/mdoc.cabal
--- a/mdoc.cabal
+++ b/mdoc.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.18
 name:               mdoc
-version:            0.1.1.2
+version:            0.1.1.3
 license:            AGPL-3
 license-file:       COPYING
 maintainer:         Pat Brisbin
@@ -119,6 +119,7 @@
     build-depends:
         Diff >=0.5,
         aeson >=2.2.3.0,
+        autodocodec >=0.4.2.2 && <0.6,
         autodocodec-schema >=0.2.0.1 && <0.2.0.2,
         base >=4.19.2.0 && <5,
         bytestring >=0.12.1.0,
@@ -230,7 +231,7 @@
 
     build-depends:
         aeson >=2.2.3.0,
-        autodocodec >=0.4.2.2 && <0.6,
+        autodocodec >=0.4.2.2,
         autodocodec-schema >=0.2.0.1,
         base >=4.19.2.0 && <5,
         bytestring >=0.12.1.0,
diff --git a/src/Autodocodec/Schema/Mdoc.hs b/src/Autodocodec/Schema/Mdoc.hs
--- a/src/Autodocodec/Schema/Mdoc.hs
+++ b/src/Autodocodec/Schema/Mdoc.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE AllowAmbiguousTypes #-}
+
 -- |
 --
 -- Module      : Autodocodec.Schema.Mdoc
@@ -46,12 +48,18 @@
 -- @
 module Autodocodec.Schema.Mdoc
   ( addToMan5
+  , addToMan5ViaCodec
   , getConfigs
   ) where
 
 import Mdoc.Prelude
 
-import Autodocodec.Schema (JSONSchema (..), ObjectSchema (..))
+import Autodocodec (HasCodec)
+import Autodocodec.Schema
+  ( JSONSchema (..)
+  , ObjectSchema (..)
+  , jsonSchemaViaCodec
+  )
 import Autodocodec.Schema qualified as JSONSchema
 import Data.Aeson (Value)
 import Data.Aeson qualified as Aeson
@@ -87,6 +95,9 @@
   m
     & field @"name" % field @"description" %~ getComment js
     & field @"configs" <>~ getConfigs Nothing js
+
+addToMan5ViaCodec :: forall a. HasCodec a => Man5 -> Man5
+addToMan5ViaCodec = addToMan5 $ jsonSchemaViaCodec @a
 
 getComment :: JSONSchema -> String -> String
 getComment js existing = case js of
