devcontainers / devcontainers/cli

Unexpected workspaceFolder mount behavior when dev container is opened before Git initialization

Open
#1,055 2 comments 0 reactions 1 assignee Claimed by @v-Kaniska244 View on GitHub
Dominant language
TypeScript
Stars
3k
Forks
457
Avg merge
13h 17m
Merged PRs (30d)
6

Description

I've encountered a strange and hard-to-debug behavior when using multiple `devcontainer.json` files in a monorepo setup.

### Steps to Reproduce

1. Create a new directory (not yet initialized as a Git repository).
2. Add a `.devcontainer` folder in the root with multiple `devcontainer.json` files, each specifying a different `workspaceFolder` to scope the dev container to a project in the monorepo.
3. Open one of the devcontainers in VS Code **before** initializing the root directory as a Git repository.
4. Observe that the workspace folder is mounted incorrectly — the **parent folder** is mounted instead of the expected project directory.
5. Now run `git init` in the root of the repo.
6. 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.