Dagger CLI/engine "incompatible version" in CI
The Dagger CLI, SDK, and engine must be compatible. When a CI job pins one at a version that does not match the engine it connects to, Dagger reports the versions are incompatible and refuses to run.
What this error means
dagger fails with "incompatible" or "version mismatch" between the CLI/SDK and the engine, before or during module load.
Error: failed to connect to engine: incompatible engine version v0.9.3 (client requires v0.11.x)Common causes
A pinned CLI connecting to a different engine
A CI-pinned CLI version connects to a provided engine service running a different version, which the CLI rejects.
SDK generated against another engine
Module bindings generated by one SDK version can be incompatible with an engine on a different release line.
How to fix it
Pin CLI, SDK, and engine together
- Choose one Dagger version for the CLI, SDK, and engine.
- Pin the CLI install to that version in CI.
- Match the provided engine service image to the same version.
curl -fsSL https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.11.0 shMatch the engine service image
When running the engine as a service, use the image tag that matches the pinned CLI version.
services:
dagger-engine:
image: registry.dagger.io/engine:v0.11.0How to prevent it
- Pin one Dagger version across CLI, SDK, and engine.
- Update all three together, not one at a time.
- Match provided engine service images to the CLI.