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