concurrently
Run multiple commands with multiplexed, colorized output.
Usage
concurrently [--color N] NAME1 'COMMAND1' [NAME2 'COMMAND2' ...]
Options
--color N- Starting color offset (0-6). Useful when running multiple concurrent instances in parallel to differentiate their output colors.
Example
concurrently Vite 'pnpm exec vite' Go 'find . -name "*.go" | entr go run .'
Multiple Instances with Different Colors
When running multiple independent concurrent processes, use --color to differentiate them:
# Terminal 1 - starts with cyan (color 0)
concurrently --color 0 Frontend 'npm run dev' Backend 'go run main.go'
# Terminal 2 - starts with yellow (color 2)
concurrently --color 2 Worker 'python worker.py' Notifier 'node notify.js'
Output:
[Vite] Dev server running on port 5173...
[Go] Compiled output
Features
- Multiple commands run in parallel
- Each process output prefixed with
[NAME]in a distinct color - Colors cycle through 8 vibrant colors for dark terminals
- SIGINT (Ctrl+C) terminates all processes cleanly
- Line-buffered output for real-time display
Installation
Using Nix Flakes
nix run git+https://github.com/yourusername/concurrently -- Vite 'npm run dev'
Or add to your flake.nix:
{
inputs.concurrently.url = "git+https://github.com/yourusername/concurrently";
outputs = { self, nixpkgs, concurrently }: {
# Use in your packages
};
}
Manual Installation
Copy the concurrently script to your $PATH.
Color Palette
Colors cycle through: Cyan, Green, Yellow, Magenta, Blue, Red, Orange, White
License
MIT