microsoft / microsoft/vscode-remote-release

"Starting Dev Container (show log)" panel does not show up sometimes

Open
#11,565 0 comments 0 reactions 1 assignee View on GitHub

@chrmarti is already working on this.

Since Apr 2, 2026.

containers
Dominant language
Dockerfile
Stars
4.2k
Forks
469
Avg merge
1d 1h
Merged PRs (30d)
1

Description

  • VSCode Version: 1.114.0
  • Local OS Version: Windows 11
  • Remote OS Version: Ubuntu 24.04
  • Remote Extension/Connection Type: Dev Containers/WSL/Remote - Tunnels/VS Code Server

How do the configurations in devcontainer.json affect the visibility of the "Starting Dev Container (show log)" panel? I have some simple devcontainer files, which always show the mentioned panel and never fail, e.g.:

{
    "name": "Ubuntu DevContainer",
    "image": "<my local image>",
    //// From here on everything is optional!
    "runArgs": [
        "--name",
        "${localEnv:USERNAME}_devcontainer_${devcontainerId}"
    ],
    // install spell checker extension *inside* the dev container after connecting via VSCode
    "customizations": {
        "vscode": {
            "extensions": [
                "streetsidesoftware.code-spell-checker",
                "ms-vscode.cpptools-themes",
                "ms-vscode.cpptools",
                "eamodio.gitlens"
            ]
        }
    },
    // we can set environmental variables inside the container
    "remoteEnv": {
        "MY_LOCAL_USERNAME": "${localEnv:USERNAME}",
        "DISPLAY": ":0",
        "WAYLAND_DISPLAY": "wayland-0",
    },
    // runs while container creation but just once
    "onCreateCommand": {
        "install_git": "echo \"install git...\""
    },
    // and run commands after startup, see also https://containers.dev/implementors/json_reference/
    "postStartCommand": {
        "say hello": "echo This command runs after starting the container, in the ubuntu shell.",
        "print windows username": "echo $MY_LOCAL_USERNAME"
    },
    // if needed, we can add some special mounts to run GUI programs or create file exchange folders
    // **Requires an existing folder `%userprofile%/xchange` or devcontainer will fail**
    "mounts": [
        "type=bind,source=/mnt/wslg/.X11-unix,target=/tmp/.X11-unix",
        "type=bind,source=${localEnv:HOME}${localEnv:USERPROFILE}/xchange,target=/tmp/xchange"
    ]
}

always works.

But I have e.g. this one

// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/alpine
{
    "name": "DevContainer",
    "build": {
        "dockerfile": "Dockerfile",
        // dockerfile build args
        "args": {
            "IMAGE": "<another docker image>",
        }
    },
    // runArgs changes neet a container rebuild!
    "runArgs": [
        "--network=host",
        "--name",
        "devcontainer_${localEnv:USERNAME}_${devcontainerId}"
    ],
    // env vars baked into the cli call, fixes issues with extension install
    "containerEnv": {
        // preparation for GUI forwarding
        "DISPLAY": ":0",
        "WAYLAND_DISPLAY": "wayland-0",
    },
    "mounts": [
        // for GUI forwarding
        "type=bind,source=/mnt/wslg/.X11-unix,target=/tmp/.X11-unix",
        // https://code.visualstudio.com/docs/devcontainers/tips-and-tricks#_persisting-user-profile,
        "source=vsc-profile-${localWorkspaceFolderBasename}-${localEnv:USERNAME},target=/home/${localEnv:USERNAME},type=volume",
        "target=/home/${localEnv:USERNAME}/.vscode-server,type=volume",
        // add exchange folder with windows file system
        "type=bind,source=${localEnv:HOME}${localEnv:USERPROFILE}/xchange,target=/home/${localEnv:USERNAME}/xchange"
    ],
    "remoteUser": "${localEnv:USERNAME}",
    "updateRemoteUserUID": false, // would be great to make it work, but buildx proxy issues
    // commands right after container generation, runs just once, see https://containers.dev/implementors/json_reference/#lifecycle-scripts
    "onCreateCommand": {
        "fix_user_permissions": ".devcontainer/scripts/fix-user-permissions.sh",
    },
    // runs after onCreateCommand, as soon as something in the file system changed
    "updateContentCommand": {},
    // runs after updateContentCommand, when a user is assigned, i.e., run user-dependent functions
    "postCreateCommand": {
        "fix_git_permissions": "containerWorkspaceFolder=${containerWorkspaceFolder} .devcontainer/scripts/fix-git-permissions.sh",
    },
    // wait until all commands are done
    "waitFor": "postCreateCommand",
    // runs after every start
    "postStartCommand": {
        "update_submodules": ".devcontainer/scripts/update-git-submodules.sh",
        "activate_venv": ".devcontainer/scripts/activate-venv.sh",
    },
    // pre-add extensions and settings
    "customizations": {
        "vscode": {
            "extensions": [
                "ms-azuretools.vscode-containers",
                "medo64.render-crlf",
                "pomdtr.markdown-kroki",
                "eamodio.gitlens",
                "ms-vscode.live-server",
                "Arm.virtual-hardware",
                "Arm.device-manager",
                "ms-vscode-remote.remote-containers",
                "ms-vscode-remote.vscode-remote-extensionpack",
                "ms-vscode.remote-explorer",
                "ms-vscode.vscode-serial-monitor",
                "Arm.cmsis-csolution",
                "Arm.vscode-cmsis-debugger",
                "ms-vscode.cpptools",
                "GitLab.gitlab-workflow",
                "trond-snekvik.gnu-mapfiles",
                "yzhang.markdown-all-in-one",
                "nordic-semiconductor.nrf-connect",
                "nordic-semiconductor.nrf-connect-extension-pack",
                "nordic-semiconductor.nrf-devicetree",
                "nordic-semiconductor.nrf-kconfig",
                "nordic-semiconductor.nrf-terminal",
                "MathWorks.polyspace",
                "ms-python.debugpy",
                "ms-python.python",
                "redhat.vscode-yaml",
                "marus25.cortex-debug",
                "streetsidesoftware.code-spell-checker",
                "mcu-debug.debug-tracker-vscode"
            ],
        }
    }
}

which never shows the panel but at the first clone (no matter if I use reload window, rebuild or rebuild without cache), which is a pity because users don't know whether it's progressing or not:

Image

Note that I'm using podman and used the "clone repo in named container" feature.

Can the mounts of the home folder or the .vscode-server cause this? Or extensions?

Thanks!

Does this issue occur when you try this locally?: No
Does this issue occur when you try this locally and all extensions are disabled?: No

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.