Packages

concurrently

10.0.6 · 8 Oct 2026MIT29.2M / weekRepositoryHomepagenpmAtom feed

Your version

4.0.0

major24 Aug 2018Where it was published

4.1.2 is the newest release of 4.x.

In short

5 breaking

  • breaking

    It does feature some small breaking changes, and maybe even fixes some longstanding bugs.

  • breaking

    The CLI option --allow-restarts is no more. Instead, just set --restart-tries to something greater than 0.

  • breaking

    Input handling is now opt-in via --handle-input flag. It does come with some specific input parsing that would make it difficult for you to use it with some tools.

  • breaking

    Setting prefix to none will now actually not prefix commands' outputs. Previously, it would prefix with .

  • breaking

    SIGINTs/Ctrl+C will now be handled gracefully. No more exiting with code 1 or tweaking --success flag.

Release note

More than anything, v4 is just a big refactor to allow changes to be made faster and more reliably.
It does feature some small breaking changes, and maybe even fixes some longstanding bugs.

Breaking changes

  • breaking

    The CLI option --allow-restarts is no more.
    Instead, just set --restart-tries to something greater than 0.

  • breaking

    Input handling is now opt-in via --handle-input flag.
    It does come with some specific input parsing that would make it difficult for you to use it with some tools.

  • breaking

    Setting prefix to none will now actually not prefix commands' outputs.
    Previously, it would prefix with .

  • breaking

    SIGINTs/Ctrl+C will now be handled gracefully.
    No more exiting with code 1 or tweaking --success flag.

No more null exit codes (#133)

That's a pretty bad bug that existed till now. You won't see a log like this anymore:

[1] npm run lint-watch exited with code null

What you will see going forward is the actual exit signal:

[1] npm run lint-watch exited with code SIGTERM

For Windows users, this will invariably still be exit code 1.

concurrently finally gets a shiny ✨ programmatic API!

Closes #101, #112. Maybe even #103.

const concurrently = require('concurrently');
await concurrently([
	'npm:watch-*',
	{ name: 'server', command: 'nodemon' }
], {
  prefix: 'name',
  killOthers: ['failure'],
  restartTries: 3
});

Check the docs here for some info on how to use it.