diff --git a/CHANGELOG.md b/CHANGELOG.md
index 223f2cba..ec4d0851 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## v0.23.12 (WIP)
+
+- Added warning logs in case of mismatched `modernc.org/sqlite` and `modernc.org/libs` versions ([#6136](https://github.com/pocketbase/pocketbase/issues/6136#issuecomment-2556336962)).
+
+
 ## v0.23.11
 
 - Upgraded `golang.org/x/net` to 0.33.0 to fix [CVE-2024-45338](https://www.cve.org/CVERecord?id=CVE-2024-45338).
diff --git a/modernc_versions_check.go b/modernc_versions_check.go
new file mode 100644
index 00000000..e417409a
--- /dev/null
+++ b/modernc_versions_check.go
@@ -0,0 +1,64 @@
+package pocketbase
+
+import (
+	"fmt"
+	"log/slog"
+	"runtime/debug"
+)
+
+const (
+	expectedDriverVersion = "v1.34.3"
+	expectedLibcVersion   = "v1.55.3"
+
+	// ModerncDepsCheckHookId is the id of the hook that performs the modernc.org/* deps checks.
+	// It could be used for removing/unbinding the hook if you don't want the checks.
+	ModerncDepsCheckHookId = "pbModerncDepsCheck"
+)
+
+func checkModerncDeps(logger *slog.Logger) {
+	info, ok := debug.ReadBuildInfo()
+	if !ok {
+		return // no build info (probably compiled without module support)
+	}
+
+	var driverVersion, libcVersion string
+
+	for _, dep := range info.Deps {
+		switch dep.Path {
+		case "modernc.org/libc":
+			libcVersion = dep.Version
+		case "modernc.org/sqlite":
+			driverVersion = dep.Version
+		}
+
+		// no need to further search if both deps are located
+		if driverVersion != "" && libcVersion != "" {
+			break
+		}
+	}
+
+	// not using the default driver
+	if driverVersion == "" {
+		return
+	}
+
+	if driverVersion != expectedDriverVersion {
+		logger.Warn(fmt.Sprintf(
+			"You are using  modernc.org/sqlite %s which differs from the tested %s.\n"+
+				"Make sure to either manually update in your go.mod the dependency version to the expected one OR if you want to keep yours "+
+				"ensure that its indirect modernc.org/libc dependency has the same version as in the https://gitlab.com/cznic/sqlite/-/blob/master/go.mod, "+
+				"otherwise it could result in unexpected build or runtime errors.",
+			driverVersion,
+			expectedDriverVersion,
+		), slog.String("current", driverVersion), slog.String("expected", expectedDriverVersion))
+	} else if libcVersion != expectedLibcVersion {
+		logger.Warn(fmt.Sprintf(
+			"You are using a modernc.org/libc %s which differs from the tested %s.\n"+
+				"Please update your go.mod and manually set modernc.org/libc to %s, otherwise it could result in unexpected build or runtime errors "+
+				"(you may have to also run 'go clean -modcache' to clear the cache if the warning persists).",
+			libcVersion,
+			expectedLibcVersion,
+			expectedLibcVersion,
+		), slog.String("current", libcVersion), slog.String("expected", expectedLibcVersion))
+	}
+}
diff --git a/pocketbase.go b/pocketbase.go
index 1f007b73..58c8063a 100644
--- a/pocketbase.go
+++ b/pocketbase.go
@@ -12,7 +12,9 @@ import (
 	"github.com/fatih/color"
 	"github.com/pocketbase/pocketbase/cmd"
 	"github.com/pocketbase/pocketbase/core"
+	"github.com/pocketbase/pocketbase/tools/hook"
 	"github.com/pocketbase/pocketbase/tools/list"
+	"github.com/pocketbase/pocketbase/tools/routine"
 	"github.com/spf13/cobra"
 
 	_ "github.com/pocketbase/pocketbase/migrations"
@@ -137,6 +139,24 @@ func NewWithConfig(config Config) *PocketBase {
 	// hide the default help command (allow only `--help` flag)
 	pb.RootCmd.SetHelpCommand(&cobra.Command{Hidden: true})
 
+	// https://github.com/pocketbase/pocketbase/issues/6136
+	pb.OnBootstrap().Bind(&hook.Handler[*core.BootstrapEvent]{
+		Id: ModerncDepsCheckHookId,
+		Func: func(be *core.BootstrapEvent) error {
+			if err := be.Next(); err != nil {
+				return err
+			}
+
+			// run separately to avoid blocking
+			logger := be.App.Logger()
+			routine.FireAndForget(func() {
+				checkModerncDeps(logger)
+			})
+
+			return nil
+		},
+	})
+
 	return pb
 }