Skip to content
Latchkey

Docker Compose "watch" - "services.X: no develop config" / Watch Does Nothing in CI

docker compose watch syncs/rebuilds on file changes, but only for services that declare a develop.watch block. Without it (or on a Compose too old to support watch) the command exits with no watchers, or errors that no service has a develop config.

What this error means

A docker compose watch immediately exits with no service selected for watching / services.<name>: no develop config, or runs but reacts to nothing. The compose file otherwise starts services fine with up.

docker compose watch output
no configuration found for watch: no service has a "develop.watch" configuration
# or on older Compose: unknown command "watch" for "docker compose"

Common causes

No develop.watch block on any service

watch only acts on services that define develop.watch rules (sync/rebuild paths). A compose file without them has nothing to watch.

Compose too old for the watch feature

docker compose watch is a newer Compose feature. An older Compose plugin does not recognize the command.

How to fix it

Add a develop.watch configuration

Declare what to sync or rebuild on change for the service.

docker-compose.yml
services:
  web:
    build: .
    develop:
      watch:
        - action: sync
          path: ./src
          target: /app/src
        - action: rebuild
          path: ./package.json

Update Compose and confirm the command exists

Terminal
docker compose version
docker compose watch

How to prevent it

  • Add develop.watch rules to services you intend to watch.
  • Keep the Compose plugin current for the watch feature.
  • Use watch for local dev, not CI pipelines.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →