diff --git a/appveyor-linux-binary.yml b/appveyor-linux-binary.yml
index e212fef510..1501569c92 100644
--- a/appveyor-linux-binary.yml
+++ b/appveyor-linux-binary.yml
@@ -77,7 +77,7 @@ install:
   - sh: "./aws_cli/bin/python -m pip install awscli"
   - sh: "PATH=$(echo $PWD'/aws_cli/bin'):$PATH"
 
-  - sh: "PATH=$PATH:$HOME/venv3.7/bin:$HOME/venv3.8/bin:$HOME/venv3.9/bin:$HOME/venv3.10/bin:$HOME/venv3.11/bin:$HOME/venv3.12/bin:$HOME/venv3.13/bin"
+  - sh: "PATH=$PATH:$HOME/venv3.9/bin:$HOME/venv3.10/bin:$HOME/venv3.11/bin:$HOME/venv3.12/bin:$HOME/venv3.13/bin"
 
   # Install pytest
   - sh: "python3.9 -m venv $HOME/pytest"
diff --git a/appveyor-ubuntu.yml b/appveyor-ubuntu.yml
index d29f841735..a9d183733d 100644
--- a/appveyor-ubuntu.yml
+++ b/appveyor-ubuntu.yml
@@ -16,8 +16,8 @@ configuration:
   - OtherAndEndToEndTesting
 
 environment:
-  PYTHON_HOME: "$HOME/venv3.8/bin"
-  PYTHON_VERSION: '3.8'
+  PYTHON_HOME: "$HOME/venv3.11/bin"
+  PYTHON_VERSION: '3.11'
   AWS_DEFAULT_REGION: us-east-1
   SAM_CLI_DEV: 1
   NODE_VERSION: "18.18.2"
diff --git a/appveyor-windows-al2023.yml b/appveyor-windows-al2023.yml
index edb617cea3..bee6e0665d 100644
--- a/appveyor-windows-al2023.yml
+++ b/appveyor-windows-al2023.yml
@@ -13,10 +13,10 @@ environment:
   TMPDIR: "%TEMP%"
   TMP: "%TEMP%"
 
-  # MSI Installers only use Py3.8. It is sufficient to test with this version here.
-  PYTHON_HOME: "C:\\Python38-x64"
-  PYTHON_SCRIPTS: "C:\\Python38-x64\\Scripts"
-  PYTHON_EXE: "C:\\Python38-x64\\python.exe"
+  # MSI Installers use Py3.11. It is sufficient to test with this version here.
+  PYTHON_HOME: "C:\\Python311-x64"
+  PYTHON_SCRIPTS: "C:\\Python311-x64\\Scripts"
+  PYTHON_EXE: "C:\\Python311-x64\\python.exe"
   PYTHON_ARCH: "64"
   HOME: 'C:\Users\appveyor'
   HOMEDRIVE: "C:"
diff --git a/appveyor-windows.yml b/appveyor-windows.yml
index 6c19f9affa..69bdd052f3 100644
--- a/appveyor-windows.yml
+++ b/appveyor-windows.yml
@@ -26,10 +26,10 @@ environment:
   TMPDIR: "%TEMP%"
   TMP: "%TEMP%"
 
-  # MSI Installers only use Py3.8. It is sufficient to test with this version here.
-  PYTHON_HOME: "C:\\Python38-x64"
-  PYTHON_SCRIPTS: "C:\\Python38-x64\\Scripts"
-  PYTHON_EXE: "C:\\Python38-x64\\python.exe"
+  # MSI Installers uses Py3.11. It is sufficient to test with this version here.
+  PYTHON_HOME: "C:\\Python311-x64"
+  PYTHON_SCRIPTS: "C:\\Python311-x64\\Scripts"
+  PYTHON_EXE: "C:\\Python311-x64\\python.exe"
   PYTHON_ARCH: "64"
   HOME: 'C:\Users\appveyor'
   HOMEDRIVE: "C:"
diff --git a/setup.py b/setup.py
index 4766a50973..0ab8123e6b 100644
--- a/setup.py
+++ b/setup.py
@@ -53,8 +53,8 @@ def read_version():
     license="Apache License 2.0",
     packages=find_packages(exclude=["tests.*", "tests", "installer.*", "installer", "schema.*", "schema"]),
     keywords="AWS SAM CLI",
-    # Support Python 3.8 or greater
-    python_requires=">=3.8, <=4.0, !=4.0",
+    # Support Python 3.9 or greater
+    python_requires=">=3.9, <=4.0, !=4.0",
     entry_points={"console_scripts": ["{}=samcli.cli.main:cli".format(cmd_name)]},
     install_requires=read_requirements("base.txt"),
     extras_require={"pre-dev": read_requirements("pre-dev.txt"), "dev": read_requirements("dev.txt")},
@@ -68,7 +68,6 @@ def read_version():
         "License :: OSI Approved :: Apache Software License",
         "Operating System :: OS Independent",
         "Programming Language :: Python",
-        "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: 3.11",
         "Topic :: Internet",