QDeveloper cannot execute shell commands on .devcontainer without bash
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 807
- Avg merge
- 10h 12m
- Merged PRs (30d)
- 7
Description
## Problem
## Steps to reproduce the issue
1. Create a devcontainer and install qdeveloper as a vscode extension in the configuration ("amazonwebservices.amazon-q-vscode"), using vanilla alpine base image (alpine:latest).
2. In Dockerfile, install only zsh as shell (and other non-shell dependencies, avoid bash).
3. After configuring QDeveloper and signing in, ask Q to create a folder.
4. Observe in Amazon Q logs the result :
2025-08-23 06:49:40.076 [info] [Info - 6:49:40 AM] [2025-08-23T06:49:40.071Z] lserver: Command: (not started) [sh -c command -v mkdir]
2025-08-23 06:49:40.078 [info] [Info - 6:49:40 AM] [2025-08-23T06:49:40.075Z] lserver: Invoking /bin/bash command: "mkdir .devcontainer_new" in cwd: "/workspaces/aide"
2025-08-23 06:49:40.078 [info] [Info - 6:49:40 AM] [2025-08-23T06:49:40.075Z] lserver: Command: (not started) [/bin/bash -c mkdir .devcontainer_new]
2025-08-23 06:49:40.081 [info] [Info - 6:49:40 AM] [VSCode Telemetry] Emitting amazonq_bashCommand telemetry: {"credentialStartUrl":"REDACTED","result":"Failed","command":"mkdir"}
## Expected behavior
QDeveloper identifies what is the default shell for the current user, and uses that shell to execute shell commands
*OR*
QDeveloper has a setting to define what is the default shell the assistant should use
## Actual behavior
QDeveloper tries to use bash, and fails when it's not installed in the host. It cycles through few alternative ways to run the command
Note: If I ask QDeveloper to use /bin/zsh instead, it doesn't work because then it uses bash to call zsh (/bin/bash -c seems hardcoded).
## System details (run `AWS: About` and/or `Amazon Q: About`)
OS: Linux x64 6.6.87.2-microsoft-standard-WSL2
Visual Studio Code extension host: 1.103.2
Amazon Q: 1.91.0
node: 22.17.0
Just a note on the OS: the host is Windows. But I'm launching the .devcontainer from an Ubuntu24.04 WSL distro.
Contributor guide
Research direction
Reproduce the issue in the described Alpine devcontainer with zsh installed and bash absent, then trace the Amazon Q command invocation shown in the logs, especially the hardcoded /bin/bash -c path. Compare that behavior with the current user's default shell and the proposed shell setting. Done means shell commands execute successfully without bash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, vscode, zsh
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100