GitPedia

Zx

A tool for writing better scripts

From google·Updated June 15, 2026·View on GitHub·

Bash is great, but when it comes to writing more complex scripts, many people prefer a more convenient programming language. JavaScript is a perfect choice, but the Node.js standard library requires additional hassle before using. No compromise, take the best of both. The `zx` package provides useful cross-platform wrappers around `child_process`, escapes arguments and gives sensible defaults. The project is written primarily in JavaScript, distributed under the Apache License 2.0 license, first published in 2021. It has gained significant community traction with 45,535 stars and 1,268 forks on GitHub. Key topics include: bash, child-process, cli, exec, javascript.

Latest release: 8.8.58.8.5 — Temporary Reservoir
October 19, 2025View Changelog →
<h1><img src="https://google.github.io/zx/img/logo.svg" alt="Zx logo" height="32" width="28" valign="middle"> zx</h1>
js
#!/usr/bin/env zx await $`cat package.json | grep name` const branch = await $`git branch --show-current` await $`dep deploy --branch=${branch}` await Promise.all([ $`sleep 1; echo 1`, $`sleep 2; echo 2`, $`sleep 3; echo 3`, ]) const name = 'foo bar' await $`mkdir /tmp/${name}`

Bash is great, but when it comes to writing more complex scripts,
many people prefer a more convenient programming language.
JavaScript is a perfect choice, but the Node.js standard library
requires additional hassle before using. No compromise, take the best of both. The zx package provides
useful cross-platform wrappers around child_process, escapes arguments and
gives sensible defaults.

Install

bash
npm install zx

All setup options: zx/setup.
See also zx@lite.

Usage

Compatibility

See also

  • 🔥 crow.watch — a computing-focused community, link aggregation and discussion, join.

License

Apache-2.0

Disclaimer: This is not an officially supported Google product.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from google/zx via the GitHub API.Last fetched: 6/15/2026