diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f4b830c8175179542b86e58cc479dbe443a5adbb..c62552e6649ca9799296ad499ebc5a695cb8933b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -7,3 +7,15 @@ repos:
         entry: gitleaks protect --staged -v -c ../.gitleaks.toml
         pass_filenames: false
         always_run: true
+      - id: lint
+        name: deno lint
+        entry: deno lint
+        language: system
+        types: [ file, ts ]
+        pass_filenames: false
+      - id: format
+        name: deno fmt
+        entry: deno fmt
+        language: system
+        types: [ file, ts ]
+        pass_filenames: false
diff --git a/deno.json b/deno.json
index 2c94ba5dd170ca240029eb255d9e314ecb4ebb63..40d242611a4a764b9aafedd043bd839ad6211d43 100644
--- a/deno.json
+++ b/deno.json
@@ -11,10 +11,6 @@
     "start": "deno run --allow-import --allow-net --allow-env --allow-read --lock=deno.lock --cached-only app/main.ts",
     "docker": "docker build -t events . && docker run -it --init -p 8001:8001 events",
     "smoketest": "BASE_URL=http://localhost:8006/graphql k6 run smoketest/main.js",
-    "pre-commit": {
-      "cmd": "deno task lint && deno task fmt:check",
-      "gitHook": "pre-commit"
-    }
   },
   "fmt": {
     "lineWidth": 120,