Dokploy/dokploy · warning

Automatic deployments are disabled for this application

Error message

Automatic deployments are disabled for this application

What it means

Same deploy webhook handler: the application was found by refresh token, but its autoDeploy flag is false, so the endpoint refuses with 400 'Automatic deployments are disabled for this application'.

Solutions

  1. Enable 'Automatic Deploy' in the application's deployment settings
  2. Or remove/disable the external webhook if manual deploys are intended
  3. Re-verify with a test payload after enabling
Defensive patterns

Strategy: validation

Validate before calling

const app = await db.query.application.findFirst({ where: eq(application.refreshToken, token) });
if (!app?.autoDeploy) throw new Error('Enable auto-deploy first');

Try / catch

if (res.status === 400 && body.message.includes('disabled')) { await enableAutoDeploy(appId); retry(); }

Prevention

When it happens

Trigger: Calling the deploy webhook while the application's 'Automatic Deploy' toggle is off in Dokploy settings.

Common situations: Someone disabled auto-deploy temporarily and forgot to re-enable; the app was recreated with autoDeploy defaulting to false; external CI still firing on every push.

Related errors


AI-assisted analysis of Dokploy/dokploy@546686ea35 (2026-08-27). Data as JSON: /api/errors/5acbc117ee668808. Report an issue: GitHub.

Appendix: source

Thrown at apps/dokploy/pages/api/deploy/[refreshToken].ts:62

		}
		const application = await db.query.applications.findFirst({
			where: eq(applications.refreshToken, refreshToken as string),
			with: {
				environment: {
					with: {
						project: true,
					},
				},
				bitbucket: true,
			},
		});

		if (!application) {
			res.status(404).json({ message: "Application Not Found" });
			return;
		}
		if (!application?.autoDeploy) {
			res.status(400).json({
				message: "Automatic deployments are disabled for this application",
			});
			return;
		}

		const deploymentTitle = extractCommitMessage(req.headers, req.body);

		const deploymentHash = extractHash(req.headers, req.body);
		const sourceType = application.sourceType;

		if (sourceType === "docker") {
			const applicationImageName = extractImageName(application.dockerImage);
			const applicationDockerTag = extractImageTag(application.dockerImage);

			const webhookImageName = extractImageNameFromRequest(
				req.headers,
				req.body,
			);

View on GitHub (pinned to 546686ea35)