Clack v1.0 is here!

We're thrilled to announce Clack v1.0: a stylish prompt library for JavaScript CLIs.

New user? Install Clack by running npm install @clack/prompts. Visit our documentation for further details or join us on Discord.

Existing user? Upgrade Clack by running npm install @clack/prompts@latest. That’s it!

The road to v1.0

Since its initial release nearly 3 years ago, Clack has become the de facto prompt library in the JavaScript ecosystem. With over 7k stars on GitHub and nearly 3.5M weekly downloads, what began as a small UI experiment has grown beyond our wildest dreams.

For Clack v1.0, we’ve prioritized stability over making any large breaking changes. Now that the Bombshell organization exists to maintain Clack long-term, you can expect a more regular cadence of fixes, polish, and incremental improvements moving forward.

This v1.0 release solidifies our commitment to the current set of APIs.

What’s new?

The notable major change in Clack v1.0 is that it is now distributed only as an ESM package. For the vast majority of users, this shouldn’t require any code changes, but CJS users should take extra care validating behavior after upgrading.

Meanwhile, we’ve fixed a slew of rendering bugs related to short terminals, Windows, non-TTYs, padding, spacing, and line wrapping. There have been performance improvements for wrapping and redrawing.

New global settings provide a flexible foundation for localization, and we plan to expand on customization options in future releases.

Ecosystem adoption

As Clack’s adoption grew, so did the number of downstream patches and forks. With so many teams depending on the library in production, we knew that v1.0 should focus on supporting these users. These efforts paid off, resulting in new primitives like autocomplete and taskLog as well as dozens of bug fixes.

With the help of our friends at e18e, we’ve now been able to bring everyone back onto the main Clack release line so the ecosystem can benefit from our continued maintenance efforts.

Looking ahead

In the near term, the focus remains on polish, correctness, and documentation. Longer term, we’re exploring more robust layout foundations that could address some of the hardest edge cases Clack currently works around.

Those explorations will take time, but when they’re ready, they’ll make their way back into Clack without disrupting the current API surface.

Acknowledgements

This release wouldn’t exist without the incredible open source community that stepped up to help us. Thanks everyone!

We’d like to extend special acknowledgements to James, Paul, Christian, Mohammed, Amir, Chris, and Yan for their continued contributions and support.

Before you go…

If you’ve made it this far, please follow @bomb.sh on BlueSky and help us spread the word about Clack. Thank you!