diff --git a/.server-changes/remove-v3-engine.md b/.server-changes/remove-v3-engine.md
index 5ffe42e6e4..123a20cccf 100644
--- a/.server-changes/remove-v3-engine.md
+++ b/.server-changes/remove-v3-engine.md
@@ -3,4 +3,4 @@ area: webapp
type: breaking
---
-Removed support for the end-of-life v3 engine. Instances or projects still on v3 must stay on the 4.5.x release line or upgrade to v4; v3 triggers, batch triggers, reschedules, and deploys now return a clear upgrade message instead of running.
+Trigger.dev v3 is no longer supported. For self-hosted deployments, 4.5.0 is the last version we officially support for running v3; stay on 4.5.0 or upgrade to v4. v3 triggers, batch triggers, reschedules, and deploys now return a clear upgrade message instead of running.
diff --git a/docs/cli-introduction.mdx b/docs/cli-introduction.mdx
index 1db2f537cf..c6cdb2dedc 100644
--- a/docs/cli-introduction.mdx
+++ b/docs/cli-introduction.mdx
@@ -18,7 +18,7 @@ import VersionOption from '/snippets/cli-options-version.mdx';
| [login](/cli-login-commands) | Login with Trigger.dev so you can perform authenticated actions. |
| [init](/cli-init-commands) | Initialize your existing project for development with Trigger.dev. |
| [dev](/cli-dev-commands) | Run your Trigger.dev tasks locally. |
-| [deploy](/cli-deploy-commands) | Deploy your Trigger.dev v3 project to the cloud. |
+| [deploy](/cli-deploy-commands) | Deploy your Trigger.dev project to the cloud. |
| [whoami](/cli-whoami-commands) | Display the current logged in user and project details. |
| [logout](/cli-logout-commands) | Logout of Trigger.dev. |
| [list-profiles](/cli-list-profiles-commands) | List all of your CLI profiles. |
diff --git a/docs/migrating-from-v3.mdx b/docs/migrating-from-v3.mdx
index c820b25a1d..ebc00a226b 100644
--- a/docs/migrating-from-v3.mdx
+++ b/docs/migrating-from-v3.mdx
@@ -7,16 +7,14 @@ import NodeVersions from "/snippets/node-versions.mdx";
import MigrateV4UsingAi from "/snippets/migrate-v4-using-ai.mdx";
- **Action required: Trigger.dev v3 deprecation**
+ **Trigger.dev v3 has been retired**
-We're retiring Trigger.dev v3. **New v3 deploys will stop working from 1 April 2026.** Trigger.dev v4 is stable, fully supported, and recommended for all users.
+Trigger.dev v3 is end of life. v4 is stable, fully supported, and recommended for all users.
-**Key dates:**
+- On Trigger.dev Cloud, v3 has been shut down: v3 triggers and deploys no longer run.
+- If you self-host, 4.5.0 is the last version we officially support for running v3. Stay on 4.5.0 or upgrade to v4; 4.5.1 and later reject v3 triggers, batch triggers, and deploys with an upgrade message.
-- **1 April 2026** — New v3 deploys will no longer work. Existing v3 runs will continue to execute.
-- **1 July 2026** — v3 will be fully shut down. All v3 runs will stop executing.
-
-**What you need to do:** Migrate to v4 before April to avoid disruption to your task executions. The migration takes about 2 minutes — follow the steps on this page below. If you have questions or need help, [contact us](https://trigger.dev/contact) or reach out in our [Discord](https://trigger.dev/discord).
+**What you need to do:** Migrate to v4. The migration takes about 2 minutes; follow the steps below. If you have questions or need help, [contact us](https://trigger.dev/contact) or reach out in our [Discord](https://trigger.dev/discord).
diff --git a/docs/self-hosting/docker.mdx b/docs/self-hosting/docker.mdx
index 50b30607f1..ead4281a6d 100644
--- a/docs/self-hosting/docker.mdx
+++ b/docs/self-hosting/docker.mdx
@@ -344,6 +344,12 @@ TRIGGER_IMAGE_TAG=v4.5.0
We patch the latest released version line only, so keep an eye on new releases to receive security fixes. See [Security & vulnerability reporting](/self-hosting/security).
+
+ Trigger.dev 4.5.0 is the last version we officially support for running v3 (SDK v3) tasks. If
+ you still have v3 tasks, pin `TRIGGER_IMAGE_TAG` to exactly `v4.5.0` or [migrate to
+ v4](/migrating-from-v3). 4.5.1 and later reject v3 triggers and deploys with an upgrade message.
+
+
## Task events
By default, task events (timeline, logs, spans) are stored in PostgreSQL. For production deployments we recommend storing them in ClickHouse instead, it scales to much higher volumes and avoids unbounded growth of the `TaskEvent` table.
diff --git a/docs/self-hosting/kubernetes.mdx b/docs/self-hosting/kubernetes.mdx
index 2a08db5648..5e24b675f4 100644
--- a/docs/self-hosting/kubernetes.mdx
+++ b/docs/self-hosting/kubernetes.mdx
@@ -528,6 +528,12 @@ webapp:
## Version locking
+
+ Trigger.dev 4.5.0 is the last version we officially support for running v3 (SDK v3) tasks. If
+ you still have v3 tasks, pin to exactly 4.5.0 or [migrate to v4](/migrating-from-v3). 4.5.1 and
+ later reject v3 triggers and deploys with an upgrade message.
+
+
You can lock versions in two ways:
**Helm chart version (recommended):**
diff --git a/docs/self-hosting/overview.mdx b/docs/self-hosting/overview.mdx
index 8a170d057f..0b2192a166 100644
--- a/docs/self-hosting/overview.mdx
+++ b/docs/self-hosting/overview.mdx
@@ -10,6 +10,13 @@ You are responsible for provisioning resources, handling updates, and managing a
We provide version-tagged releases for self-hosted deployments. It's highly advised to use these tags exclusively and keep them locked with your CLI version.
+
+ **v3 is end of life.** Trigger.dev 4.5.0 is the last version we officially support for running
+ v3 (SDK v3) tasks. If you still have v3 tasks, stay on 4.5.0 or [migrate to
+ v4](/migrating-from-v3). 4.5.1 and later reject v3 triggers, batch triggers, and deploys with an
+ upgrade message; v4 workloads are unaffected.
+
+
## Should you self-host?
Trigger.dev Cloud is fully managed, scalable, and comes with dedicated support. For most users, it offers the best experience. However, if you have specific requirements around data residency, compliance, or infrastructure control, self-hosting may be the right choice for you.