Files
hydro-builder-app/node_modules/concurrently/docs/shell-resolution.md
2026-06-13 17:36:44 -07:00

49 lines
1.5 KiB
Markdown

# Shell Resolution
Each command runs inside a shell, not as a bare executable.
By default, concurrently uses `cmd.exe` on Windows and `/bin/sh` elsewhere.
## Using a different shell
If the default shell isn't suitable, it's possible to instruct concurrently to use a specific shell in a few ways.
This is useful, for example, to use Unix-style syntax (for example `BROWSER=none npm start`) on Windows, if you set concurrently shell to e.g. Git Bash.
### Via explicit override
An explicit shell override takes precedence over every other configuration.
To do that, pass the `--shell` flag to the CLI:
```bash
concurrently --shell "C:\Program Files\Git\bin\bash.exe" "echo Hello world | xargs -n 1 echo"
```
Or via the API:
```js
concurrently(['echo Hello world | xargs -n 1 echo'], {
shell: 'C:\\Program Files\\Git\\bin\\bash.exe',
});
```
### Via npm/pnpm/yarn v1
When using npm, pnpm or yarn v1 to run concurrently via a `package.json` script, the
[`script-shell` configuration](https://docs.npmjs.com/cli/v6/using-npm/config#script-shell) is inherited and used to spawn commands.
```bash
npm config set script-shell /bin/bash
npm dev # Runs the dev script on bash. Concurrently will also run commands using bash.
```
## Supported shells
If you've specified a different shell, concurrently detects its kind and spawns commands
using the right syntax for that shell.
The following shell types are supported:
- Windows `cmd.exe`
- Powershell
- Any POSIX compliant shells (bash, zsh, dash, etc)