Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Codecov TypeScript Node Twitter Medium

Let users toggle colors.

This is a thin wrapper around the popular chalk colors library that adds support for:


import colorsOption from 'colors-option'

const exampleLibrary = function ({ colors, ...otherLibraryOptions }) {
  const chalk = colorsOption({ colors })


npm install colors-option

This package is an ES module and must be loaded using an import or import() statement, not require().



options: object
Return value: Chalk instance



Type: boolean
Default: undefined

Whether colors should be enabled/disabled, regardless of terminal support. Colors support is automatically detected, so this is only meant to override that default behavior.

The recommended approach is to:

  • Add a colors boolean programmatic option and/or CLI flag
  • Keep its default value undefined
  • Forward it to colors-option

Instead of using chalk/supports-color, this relies on Node.js built-in colors detection getColorDepth() which:

  • Supports the NO_COLOR and NODE_DISABLE_COLORS environment variables.
  • Does not guess colors detection based on the presence of a --colors CLI flag. This gives finer control and flexibility over how to expose this as a CLI flag.

Please note that chalk has a similar level option. However, that option is an integer from 0 to 3 which makes it hard to toggle colors while still keeping 256 colors or Truecolor.


Type: Stream
Default: process.stdout

Stream used to detect colors support. This should be the file or terminal where the colors are output.

See also

  • terminal-theme: 🎨 Use a color theme for your code's terminal output.


For any question, don't hesitate to submit an issue on GitHub.

Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.


This project was made with ❤️. The simplest way to give back is by starring and sharing it online.

If the documentation is unclear or has a typo, please click on the page's Edit button (pencil icon) and suggest a correction.

If you would like to help us fix a bug or add a new feature, please check our guidelines. Pull requests are welcome!