Concurrently run multiple commands, like the NPM package but with 100% less javascript
Files
README.md

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