-
Notifications
You must be signed in to change notification settings - Fork 310
Description
I've encountered a strange and hard-to-debug behavior when using multiple devcontainer.json
files in a monorepo setup.
Steps to Reproduce
- Create a new directory (not yet initialized as a Git repository).
- Add a
.devcontainer
folder in the root with multipledevcontainer.json
files, each specifying a differentworkspaceFolder
to scope the dev container to a project in the monorepo. - Open one of the devcontainers in VS Code before initializing the root directory as a Git repository.
- Observe that the workspace folder is mounted incorrectly — the parent folder is mounted instead of the expected project directory.
- Now run
git init
in the root of the repo. - Reopen the devcontainer. Everything now works as expected, with the
workspaceFolder
correctly mounted.
🧠 Expected Behavior
The specified workspaceFolder
should be mounted correctly, even if the root directory hasn't been initialized as a Git repository.
😕 Actual Behavior
Before Git initialization, the mount behavior is incorrect — it mounts the parent directory instead of the specified workspaceFolder
. This is confusing and difficult to diagnose.
💥 Impact
This behavior makes it hard to use dev containers in new projects or automation scripts that generate dev containers before initializing Git. It also leads to unexpected mount paths, which can break tooling, scripts, or assumptions about paths inside the container.
✅ Suggested Fix
The logic determining the workspaceFolder
mount should not depend on whether the folder has been initialized as a Git repository. If Git initialization is required for some internal behavior, it should at least produce a warning or fallback gracefully.
Let me know if you'd like logs or a minimal repro repo — happy to provide more detail if needed.