diff --git a/Distribution/Helper.hs b/Distribution/Helper.hs
--- a/Distribution/Helper.hs
+++ b/Distribution/Helper.hs
@@ -50,6 +50,7 @@
   , Distribution.Helper.getSandboxPkgDb
 
   -- * Managing @dist/@
+  , prepare
   , reconfigure
   , writeAutogenFiles
 
@@ -260,6 +261,20 @@
 
   return $ SomeLocalBuildInfo
     pkgDbs eps srcDirs ghcOpts ghcSrcOpts ghcPkgOpts ghcMergedPkgOpts ghcLangOpts
+
+-- | Make sure the appropriate helper executable for the given project is
+-- installed and ready to run queries.
+prepare :: MonadIO m
+        => (FilePath -> [String] -> String -> IO String)
+        -> FilePath
+        -- ^ Path to project directory, i.e. the one containing the
+        -- @project.cabal@ file
+        -> FilePath
+        -- ^ Path to the @dist/@ directory
+        -> m ()
+prepare readProc projdir distdir = liftIO $ do
+  exe  <- findLibexecExe "cabal-helper-wrapper"
+  void $ readProc exe [projdir, distdir] ""
 
 -- | Create @cabal_macros.h@ and @Paths_\<pkg\>@ possibly other generated files
 -- in the usual place.
diff --git a/cabal-helper.cabal b/cabal-helper.cabal
--- a/cabal-helper.cabal
+++ b/cabal-helper.cabal
@@ -1,5 +1,5 @@
 name:                cabal-helper
-version:             0.5.0.0
+version:             0.5.1.0
 synopsis:            Simple interface to some of Cabal's configuration state used by ghc-mod
 description:
     @cabal-helper@ provides a library which wraps the internal use of
