Remote Containers do not work with Alpine Docker images
Repro here: cursor-bug-demo/repro-alpine-bug at master · Fan-Pier-Labs/cursor-bug-demo · GitHub
It fails 100% of the time
Remote Containers do not work with Alpine Docker images
Repro here: cursor-bug-demo/repro-alpine-bug at master · Fan-Pier-Labs/cursor-bug-demo · GitHub
It fails 100% of the time
Hi there!
We detected that this may be a bug report, so we’ve moved your post to the Bug Reports category.
To help us investigate and fix this faster, could you edit your original post to include the details from the template below?
Where does the bug appear (feature/product)?
Describe the Bug
A clear and concise description of what the bug is.
Steps to Reproduce
How can you reproduce this bug? We have a much better chance at fixing issues if we can reproduce them!
Expected Behavior
What is meant to happen here that isn’t working correctly?
Screenshots / Screen Recordings
If applicable, attach images or videos (.jpg, .png, .gif, .mp4, .mov)
Operating System
Version Information
agent about in your terminalIDE:
Version: 2.xx.x
VSCode Version: 1.105.1
Commit: ......
CLI:
CLI Version 2026.01.17-d239e66
For AI issues: which model did you use?
Model name (e.g., Sonnet 4, Tab…)
For AI issues: add Request ID with privacy disabled
Request ID: f9a7046a-279b-47e5-ab48-6e8dc12daba1
For Background Agent issues, also post the ID: bc-…
Additional Information
Add any other context about the problem here.
Does this stop you from using Cursor?
The more details you provide, the easier it is for us to reproduce and fix the issue. Thanks!
Hey, thanks for the report. Alpine Linux does have a few specific requirements when using Remote Containers in Cursor.
I’ll need a bit more info to debug this:
CMD/CTRL + Shift + U → pick Dev Containers in the dropdown → copy the errors you see when you try to open the devcontainerContext: Alpine support was added in May 2025, but there are some requirements:
bash, libstdc++, wgetFor now, please send the logs. That’ll help confirm whether this is a server download issue or something else.
Version: 2.4.23
VSCode Version: 1.105.1
Commit: 379934e04d2b3290cf7aefa14560f942e4212920
Date: 2026-01-29T21:24:23.350Z (2 days ago)
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Darwin arm64 25.2.0
ARM64 both for the Macbook and for the dev container.
repro dir is here: (github (dot) com / fan-pier-labs / cursor-bug-demo/tree/master/repro-alpine-bug )
sounds good. I don’t actually need Alpine support for anything. I just noticed it didn’t work, so I figured I’d let you know. you can reproduce this error 100% of the time by opening up the repro repo I have on GitHub.
You should be able to reproduce it on your end so you can get the logs there. If you can’t reproduce it on your end for some reason, let me know.
Having the same issue using this simple Dockerfile for the dev container:
FROM node:22-alpine
I see this error:
2026-02-17 18:39:10.887 [info] Spawned process 69602: 'docker' 'exec' '-i' 'fe676f8875b64fcfa4ddb534b7d82ae1d83e4b30bc043a5ced005084e9b7cb4d' 'bash' '-c' 'cat | (base64 -d 2>/dev/null || base64 -D || true) | bash'
2026-02-17 18:39:10.887 [info] Installing server...
2026-02-17 18:39:10.928 [info] [server install] stdout: OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH
2026-02-17 18:39:10.929 [info] [server install]: exit
2026-02-17 18:39:10.929 [info] Finished installing remote server in container. Parsing output...
2026-02-17 18:39:10.929 [info] Result map: undefined
2026-02-17 18:39:10.929 [error] Failed to install remote server in container: Error: Failed to install the Cursor Server. Please check the logs for more details.
2026-02-17 18:39:10.930 [error] Error resolving dev container authority Failed to install the Cursor Server. Please check the logs for more details.
Installing bash it works:
FROM node:22-alpine
RUN apk add --no-cache bash
But again, installing libc6-compat it doesn’t work anymore:
FROM node:22-alpine
RUN apk add --no-cache bash libc6-compat
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"start","level":2,"timestamp":1771350219732,"text":"Run in container: /bin/sh -lic echo -n ea955681-98c8-4acb-9afb-e470f7793281; cat /proc/self/environ; echo -n ea955681-98c8-4acb-9afb-e470f7793281"}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"start","level":2,"timestamp":1771350219733,"text":"Run in container: mkdir -p '/root/.devcontainer' && CONTENT=\"$(cat '/root/.devcontainer/.onCreateCommandMarker' 2>/dev/null || echo ENOENT)\" && [ \"${CONTENT:-2026-02-17T17:43:29.167507793Z}\" != '2026-02-17T17:43:29.167507793Z' ] && echo '2026-02-17T17:43:29.167507793Z' > '/root/.devcontainer/.onCreateCommandMarker'"}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219735,"text":""}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219735,"text":""}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219735,"text":"Exit code 1"}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"stop","level":2,"timestamp":1771350219735,"text":"Run in container: mkdir -p '/root/.devcontainer' && CONTENT=\"$(cat '/root/.devcontainer/.onCreateCommandMarker' 2>/dev/null || echo ENOENT)\" && [ \"${CONTENT:-2026-02-17T17:43:29.167507793Z}\" != '2026-02-17T17:43:29.167507793Z' ] && echo '2026-02-17T17:43:29.167507793Z' > '/root/.devcontainer/.onCreateCommandMarker'","startTimestamp":1771350219733}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"start","level":2,"timestamp":1771350219735,"text":"Run in container: mkdir -p '/root/.devcontainer' && CONTENT=\"$(cat '/root/.devcontainer/.updateContentCommandMarker' 2>/dev/null || echo ENOENT)\" && [ \"${CONTENT:-2026-02-17T17:43:29.167507793Z}\" != '2026-02-17T17:43:29.167507793Z' ] && echo '2026-02-17T17:43:29.167507793Z' > '/root/.devcontainer/.updateContentCommandMarker'"}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219736,"text":""}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219736,"text":""}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219736,"text":"Exit code 1"}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"stop","level":2,"timestamp":1771350219736,"text":"Run in container: mkdir -p '/root/.devcontainer' && CONTENT=\"$(cat '/root/.devcontainer/.updateContentCommandMarker' 2>/dev/null || echo ENOENT)\" && [ \"${CONTENT:-2026-02-17T17:43:29.167507793Z}\" != '2026-02-17T17:43:29.167507793Z' ] && echo '2026-02-17T17:43:29.167507793Z' > '/root/.devcontainer/.updateContentCommandMarker'","startTimestamp":1771350219735}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"start","level":2,"timestamp":1771350219736,"text":"Run in container: mkdir -p '/root/.devcontainer' && CONTENT=\"$(cat '/root/.devcontainer/.postCreateCommandMarker' 2>/dev/null || echo ENOENT)\" && [ \"${CONTENT:-2026-02-17T17:43:29.167507793Z}\" != '2026-02-17T17:43:29.167507793Z' ] && echo '2026-02-17T17:43:29.167507793Z' > '/root/.devcontainer/.postCreateCommandMarker'"}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219738,"text":""}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219738,"text":""}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219738,"text":"Exit code 1"}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"stop","level":2,"timestamp":1771350219738,"text":"Run in container: mkdir -p '/root/.devcontainer' && CONTENT=\"$(cat '/root/.devcontainer/.postCreateCommandMarker' 2>/dev/null || echo ENOENT)\" && [ \"${CONTENT:-2026-02-17T17:43:29.167507793Z}\" != '2026-02-17T17:43:29.167507793Z' ] && echo '2026-02-17T17:43:29.167507793Z' > '/root/.devcontainer/.postCreateCommandMarker'","startTimestamp":1771350219736}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"start","level":2,"timestamp":1771350219738,"text":"Run in container: mkdir -p '/root/.devcontainer' && CONTENT=\"$(cat '/root/.devcontainer/.postStartCommandMarker' 2>/dev/null || echo ENOENT)\" && [ \"${CONTENT:-2026-02-17T17:43:29.251862717Z}\" != '2026-02-17T17:43:29.251862717Z' ] && echo '2026-02-17T17:43:29.251862717Z' > '/root/.devcontainer/.postStartCommandMarker'"}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219740,"text":""}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219740,"text":""}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"text","level":2,"timestamp":1771350219740,"text":"Exit code 1"}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands]: {"type":"stop","level":2,"timestamp":1771350219740,"text":"Run in container: mkdir -p '/root/.devcontainer' && CONTENT=\"$(cat '/root/.devcontainer/.postStartCommandMarker' 2>/dev/null || echo ENOENT)\" && [ \"${CONTENT:-2026-02-17T17:43:29.251862717Z}\" != '2026-02-17T17:43:29.251862717Z' ] && echo '2026-02-17T17:43:29.251862717Z' > '/root/.devcontainer/.postStartCommandMarker'","startTimestamp":1771350219738}
2026-02-17 18:43:39.802 [info] [devcontainer run-user-commands][stdout]: {"outcome":"success","result":"done"}