diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
index a785299bd..612092652 100644
--- a/.github/workflows/pre-commit.yml
+++ b/.github/workflows/pre-commit.yml
@@ -27,3 +27,5 @@ jobs:
       - run: |
           poetry run pip install pre-commit
           poetry run pre-commit run --all-files
+        env:
+          SKIP: update-pyi-files
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index a5fcf4b6b..3380683c9 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -2,24 +2,33 @@ repos:
   - repo: https://github.com/psf/black
     rev: 22.10.0
     hooks:
-    - id: black
-      args: [integration, reflex, tests]
+      - id: black
+        args: [integration, reflex, tests]
 
   - repo: https://github.com/charliermarsh/ruff-pre-commit
     rev: v0.0.244
     hooks:
-    - id: ruff
-      args: [--fix, --exit-non-zero-on-fix]
+      - id: ruff
+        args: [--fix, --exit-non-zero-on-fix]
 
   - repo: https://github.com/RobertCraigie/pyright-python
     rev: v1.1.313
     hooks:
-    - id: pyright
-      args: [integration, reflex, tests]
-      language: system
+      - id: pyright
+        args: [integration, reflex, tests]
+        language: system
 
   - repo: https://github.com/terrencepreilly/darglint
     rev: v1.8.1
     hooks:
-    - id: darglint
-      exclude: '^reflex/reflex.py'
+      - id: darglint
+        exclude: '^reflex/reflex.py'
+
+  - repo: local
+    hooks:
+      - id: update-pyi-files
+        name: update-pyi-files
+        always_run: true
+        language: system
+        description: 'Update pyi files as needed'
+        entry: python scripts/pyi_generator.py