Skip to content

Commit 3bfc6d9

Browse files
docs: clarify Docker 29.x Dev Containers hang root cause and fix (#6505)
Signed-off-by: Keiven Chang <[email protected]> Co-authored-by: Keiven Chang <[email protected]> Co-authored-by: Cursor <[email protected]>
1 parent 15d2176 commit 3bfc6d9

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

.devcontainer/README.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,17 @@ SPDX-License-Identifier: Apache-2.0
1111

1212
### Docker Version Compatibility
1313

14-
**Docker 29.x has compatibility issues with Dev Containers (by Anysphere):**
15-
- It is known that Docker Engine version **29.0.1** (released November 14, 2025) may cause Dev Containers to hang all the time, rendering it unusable
16-
- The Dev Containers extension (v1.0.26) and devcontainer CLI (v0.75.0) were not tested against Docker 29.x
17-
- Symptoms: Container builds successfully but connection hangs, requiring a manual reload to connect
18-
- This may be fixed in a later version of the Anysphere Dev Containers extension and/or Docker Engine patch
19-
20-
**Recommended Docker Version:**
21-
- Use Docker Engine **28.5.2** or earlier for stable Dev Container operation
22-
- Docker 27.x and 28.x series are confirmed working with current Dev Containers tooling
14+
**Docker 29.x had a known incompatibility with Dev Containers extension at and before v1.0.26 (CLI v0.75.0):**
15+
16+
- **Symptom:** Container builds and starts successfully (prints "Container started"), but the IDE hangs indefinitely and never connects. The `postCreateCommand` never runs.
17+
- **Root cause:** The bundled devcontainers CLI spawns `docker events --format {{json .}} --filter event=start` to detect when a container starts. It checks `i.status || i.Status` in the parsed JSON. However, Docker 29.x emits the event type under the field name `"Action"` (e.g., `{"Action":"start",...}`), not `"status"`. The start event is received but silently discarded because the field name doesn't match, so the CLI waits forever.
18+
- **Affected:** Docker Engine 29.0.0+ with Dev Containers extension v1.0.26 (CLI v0.75.0)
19+
- **Fixed in:** Dev Containers extension **v1.0.32+**
20+
- **Confirmed working combinations:**
21+
- Docker 27.x / 28.x with any extension version
22+
- Docker 29.x with Dev Containers extension v1.0.32+
23+
24+
**Recommended fix:** If you are using Docker 29.x, update the Dev Containers extension to **v1.0.32 or later**. Docker Engine 28.5.2 or earlier have been stable with all extension versions.
2325

2426
## Framework-Specific Devcontainers
2527

0 commit comments

Comments
 (0)