Skip to content
Latchkey

Argo CD sync blocked by a SyncWindow in CI

AppProject SyncWindows restrict when apps may sync. A deny window (or being outside every allow window) blocks a sync, so a CI argocd app sync is refused until the window permits it.

What this error means

argocd app sync reports the app cannot be synced because of an active sync window, or the sync is silently skipped while a deny window is in effect.

argocd
Cannot use "sync" command: Sync is denied by a sync window

Common causes

An active deny window

A SyncWindow with kind deny is currently in effect (for example a change freeze), so syncs are blocked.

Outside every allow window

When allow windows are defined, syncs outside them are denied by default, so a deploy attempted off-hours is refused.

How to fix it

Sync within an allowed window

  1. Check the project SyncWindows to see which windows apply.
  2. Schedule the deploy inside an allow window, or after the deny window ends.
  3. For a genuine emergency, use a manual sync if the window permits manual overrides.
Terminal
argocd proj windows list my-project
argocd app sync my-app

Configure windows deliberately

Define allow and deny windows on the AppProject so CI deploys land in expected times, and enable manual sync where needed.

appproject.yaml
spec:
  syncWindows:
    - kind: allow
      schedule: "0 9 * * 1-5"
      duration: 8h
      applications:
        - "*"
      manualSync: true

How to prevent it

  • Document deploy windows so pipelines run within them.
  • Set manualSync where emergency deploys must bypass a window.
  • Check argocd proj windows list before a scheduled deploy.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →