diff --git a/.github/workflows/awesome-lint.yaml b/.github/workflows/awesome-lint.yaml
index 22eab2dc..74ab2e00 100644
--- a/.github/workflows/awesome-lint.yaml
+++ b/.github/workflows/awesome-lint.yaml
@@ -14,7 +14,7 @@ jobs:
           fetch-depth: 0
       - uses: actions/setup-node@v4
         with:
-          node-version: 18
+          node-version: '20.x'
       - name: Check awesome-list linter
         # https://github.com/sindresorhus/awesome/blob/main/pull_request_template.md
         run: npx --yes awesome-lint ./README.md
diff --git a/.github/workflows/check-package-mismatches.yaml b/.github/workflows/check-package-mismatches.yaml
index 991218d5..77d015f3 100644
--- a/.github/workflows/check-package-mismatches.yaml
+++ b/.github/workflows/check-package-mismatches.yaml
@@ -12,6 +12,6 @@ jobs:
       - uses: actions/checkout@v4
       - uses: actions/setup-node@v4
         with:
-          node-version: 18
+          node-version: '20.x'
       - name: Check mismatched dependencies in workspace
         run: npx --yes syncpack@11.2.1 check-mismatches
diff --git a/.github/workflows/gh-release.yaml b/.github/workflows/gh-release.yaml
index 5f99b30c..94216d13 100644
--- a/.github/workflows/gh-release.yaml
+++ b/.github/workflows/gh-release.yaml
@@ -27,7 +27,7 @@ jobs:
 
       - uses: actions/setup-node@v4
         with:
-          node-version: '18.x'
+          node-version: '20.x'
           cache: yarn
 
       - run: yarn
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 1b9f9e52..b49aab35 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -15,7 +15,7 @@ jobs:
 
     - uses: actions/setup-node@v4
       with:
-        node-version: '18.x'
+        node-version: '20.x'
         cache: yarn
 
     - run: yarn
diff --git a/.github/workflows/npm-publish-canary.yaml b/.github/workflows/npm-publish-canary.yaml
index b8fea1fe..93d57dde 100644
--- a/.github/workflows/npm-publish-canary.yaml
+++ b/.github/workflows/npm-publish-canary.yaml
@@ -26,7 +26,7 @@ jobs:
 
     - uses: actions/setup-node@v4
       with:
-        node-version: '18.x'
+        node-version: '20.x'
         cache: yarn
 
     - run: yarn
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index db184310..c5b336df 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -13,7 +13,7 @@ jobs:
 
     - uses: actions/setup-node@v4
       with:
-        node-version: '18.x'
+        node-version: '20.x'
         cache: yarn
 
     - run: yarn
@@ -31,7 +31,7 @@ jobs:
 
     - uses: actions/setup-node@v4
       with:
-        node-version: '18.x'
+        node-version: '20.x'
         cache: yarn
 
     - run: yarn
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 1a444316..455eeb30 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -94,9 +94,9 @@
     "topicSeparator": " ",
     "update": {
       "node": {
-        "version": "18.19.0",
+        "version": "20.13.1",
         "options": [
-          "--no-warnings=ExperimentalWarning",
+          "--disable-warning=ExperimentalWarning",
           "--enable-source-maps"
         ]
       },
@@ -123,4 +123,4 @@
     "preview"
   ],
   "types": "dist/index.d.ts"
-}
+}
\ No newline at end of file