diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6a8638c10..71bca85e2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1489,3 +1489,25 @@ jobs:
         with:
           context: ./test
           file: ./test/lint.Dockerfile
+
+  annotations-disabled:
+    runs-on: ubuntu-latest
+    steps:
+      -
+        name: Checkout
+        uses: actions/checkout@v4
+      -
+        name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v3
+        with:
+          version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
+          driver-opts: |
+            image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
+      -
+        name: Build
+        uses: ./
+        with:
+          context: ./test
+          file: ./test/lint.Dockerfile
+        env:
+          DOCKER_BUILD_CHECKS_ANNOTATIONS: false
diff --git a/README.md b/README.md
index 0fa5df210..81ce7f153 100644
--- a/README.md
+++ b/README.md
@@ -258,6 +258,7 @@ The following outputs are available:
 
 | Name                                 | Type   | Default | Description                                                                                                                                                                                                                                                        |
 |--------------------------------------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `DOCKER_BUILD_CHECKS_ANNOTATIONS`    | Bool   | `true`  | If `false`, GitHub annotations are not generated for [build checks](https://docs.docker.com/build/checks/)                                                                                                                                                         |
 | `DOCKER_BUILD_SUMMARY`               | Bool   | `true`  | If `false`, [build summary](https://docs.docker.com/build/ci/github-actions/build-summary/) generation is disabled                                                                                                                                                 |
 | `DOCKER_BUILD_RECORD_UPLOAD`         | Bool   | `true`  | If `false`, build record upload as [GitHub artifact](https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts) is disabled                                                                                                            |
 | `DOCKER_BUILD_RECORD_RETENTION_DAYS` | Number |         | Duration after which build record artifact will expire in days. Defaults to repository/org [retention settings](https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#artifact-and-log-retention-policy) if unset or `0` |
diff --git a/src/main.ts b/src/main.ts
index 604115bc3..8eaf932f4 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -143,16 +143,18 @@ actionsToolkit.run(
       }
     });
 
-    const warnings = toolkit.buildxBuild.resolveWarnings(metadata);
-    if (ref && warnings && warnings.length > 0) {
-      const annotations = await Buildx.convertWarningsToGitHubAnnotations(warnings, [ref]);
-      core.debug(`annotations: ${JSON.stringify(annotations, null, 2)}`);
-      if (annotations && annotations.length > 0) {
-        await core.group(`Generating GitHub annotations (${annotations.length} build checks found)`, async () => {
-          for (const annotation of annotations) {
-            core.warning(annotation.message, annotation);
-          }
-        });
+    if (buildChecksAnnotationsEnabled()) {
+      const warnings = toolkit.buildxBuild.resolveWarnings(metadata);
+      if (ref && warnings && warnings.length > 0) {
+        const annotations = await Buildx.convertWarningsToGitHubAnnotations(warnings, [ref]);
+        core.debug(`annotations: ${JSON.stringify(annotations, null, 2)}`);
+        if (annotations && annotations.length > 0) {
+          await core.group(`Generating GitHub annotations (${annotations.length} build checks found)`, async () => {
+            for (const annotation of annotations) {
+              core.warning(annotation.message, annotation);
+            }
+          });
+        }
       }
     }
 
@@ -240,6 +242,13 @@ async function buildRef(toolkit: Toolkit, since: Date, builder?: string): Promis
   return Object.keys(refs).length > 0 ? Object.keys(refs)[0] : '';
 }
 
+function buildChecksAnnotationsEnabled(): boolean {
+  if (process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS) {
+    return Util.parseBool(process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS);
+  }
+  return true;
+}
+
 function buildSummaryEnabled(): boolean {
   if (process.env.DOCKER_BUILD_NO_SUMMARY) {
     core.warning('DOCKER_BUILD_NO_SUMMARY is deprecated. Set DOCKER_BUILD_SUMMARY to false instead.');