diff --git a/lib/modules/manager/azure-pipelines/index.ts b/lib/modules/manager/azure-pipelines/index.ts
index 5fc99be02aee5b5b6d20613df85f1a928d0ea9c5..8ceb6c32810ec0f144649d6ea9c9e75cd27395f6 100644
--- a/lib/modules/manager/azure-pipelines/index.ts
+++ b/lib/modules/manager/azure-pipelines/index.ts
@@ -4,6 +4,7 @@ export { extractPackageFile } from './extract';
 
 export const defaultConfig = {
   fileMatch: ['azure.*pipelines?.*\\.ya?ml$'],
+  enabled: false,
 };
 
 export const supportedDatasources = [
diff --git a/lib/modules/manager/azure-pipelines/readme.md b/lib/modules/manager/azure-pipelines/readme.md
index 3d966255736890c413bd93356be3c4ed3c820b65..c746b53014bcfa8aec5c2efc9e39e4e73bcbcbee 100644
--- a/lib/modules/manager/azure-pipelines/readme.md
+++ b/lib/modules/manager/azure-pipelines/readme.md
@@ -1,4 +1,18 @@
-The `azure-pipelines` manager extracts container and repository resources from the `resources` block as well as tasks from `steps` blocks.
+The `azure-pipelines` manager is disabled by default.
+This is because there's no way for Renovate to know whether new task versions are yet available with the Azure DevOps environment, so new versions proposed by Renovate could fail.
+
+To opt into running it, set the following:
+
+```json
+{
+  "azure-pipelines": {
+    "enabled": true
+  }
+}
+```
+
+It works by container and repository resources from the `resources` block as well as tasks from `steps` blocks.
+
 For example:
 
 ```yaml