# @oclif/plugin-warn-if-update-available

> warns if there is a newer version of CLI released

Latest version **4.0.0** (published 2026-08-31) · MIT license · 0 weekly downloads

## Install

```sh
npm install @oclif/plugin-warn-if-update-available
pnpm add @oclif/plugin-warn-if-update-available
yarn add @oclif/plugin-warn-if-update-available
bun add @oclif/plugin-warn-if-update-available
```

## Health

**Score 60/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 4.0.0 |
| Published | 2026-08-31 |
| First published | 2018-03-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Node | >=22.0.0 |
| Dependencies | 6 |
| Unpacked size | 16.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 40 |
| Author | Salesforce |
| Maintainers | jimjag, salesforce-releases |
| Keywords | oclif-plugin |

## Links

- npm: https://www.npmjs.com/package/@oclif/plugin-warn-if-update-available
- Repository: https://github.com/oclif/plugin-warn-if-update-available
- Issues: https://github.com/oclif/plugin-warn-if-update-available/issues
- npm.io page: https://npm.io/package/@oclif/plugin-warn-if-update-available

## Dependencies (6)

- [ansis](https://npm.io/package/ansis.md) ^3.17.0
- [debug](https://npm.io/package/debug.md) ^4.4.3
- [lodash](https://npm.io/package/lodash.md) ^4.18.1
- [http-call](https://npm.io/package/http-call.md) ^5.2.2
- [@oclif/core](https://npm.io/package/@oclif/core.md) ^5.0.0
- [registry-auth-token](https://npm.io/package/registry-auth-token.md) ^5.1.1

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 4.0.0 (latest) — 2026-08-31
- 2.1.2-qa.1 (qa) — 2023-10-17
- 3.2.0 — 2026-08-24
- 3.1.73 — 2026-08-09
- 3.1.72 — 2026-08-09
- 3.1.71 — 2026-08-02
- 3.1.70 — 2026-07-26
- 3.1.69 — 2026-07-26
- 3.1.68 — 2026-06-28
- 3.1.67 — 2026-06-21
- 3.1.66 — 2026-06-21
- 3.1.65 — 2026-05-17
- 3.1.64 — 2026-05-10
- 3.1.63 — 2026-05-09
- 3.1.62 — 2026-05-03
- … 165 more at https://npm.io/package/@oclif/plugin-warn-if-update-available/versions

## README

# @oclif/plugin-warn-if-update-available

warns if there is a newer version of CLI released

[![Version](https://img.shields.io/npm/v/@oclif/plugin-warn-if-update-available.svg)](https://npmjs.org/package/@oclif/plugin-warn-if-update-available)
[![Downloads/week](https://img.shields.io/npm/dw/@oclif/plugin-warn-if-update-available.svg)](https://npmjs.org/package/@oclif/plugin-warn-if-update-available)
[![License](https://img.shields.io/npm/l/@oclif/plugin-warn-if-update-available.svg)](https://github.com/oclif/plugin-warn-if-update-available/blob/main/package.json)

<!-- toc -->
* [@oclif/plugin-warn-if-update-available](#oclifplugin-warn-if-update-available)
* [What is this?](#what-is-this)
* [How it works](#how-it-works)
* [Installation](#installation)
* [Configuration](#configuration)
* [Environment Variables](#environment-variables)
* [Contributing](#contributing)
<!-- tocstop -->

# What is this?

This plugin shows a warning message if a user is running an out of date CLI.

![screenshot](./assets/screenshot.png)

# How it works

This checks the version against the npm registry asynchronously in a forked process once every 60 days by default (see [Configuration](#configuration) for how to configure this). It then saves a version file to the cache directory that will enable the warning. The upside of this method is that it won't block a user while they're using your CLI—the downside is that it will only display _after_ running a command that fetches the new version.

# Installation

Add the plugin to your project with `yarn add @oclif/plugin-warn-if-update-available`, then add it to the `package.json` of the oclif CLI:

```js
{
  "name": "mycli",
  "version": "0.0.0",
  // ...
  "oclif": {
    "plugins": ["@oclif/plugin-help", "@oclif/plugin-warn-if-update-available"]
  }
}
```

# Configuration

In `package.json`, set `oclif['warn-if-update-available']` to an object with
any of the following configuration properties:

- `timeoutInDays` - Duration between update checks. Defaults to 60.
- `message` - Customize update message.
- `registry` - URL of registry. Defaults to following your .npmrc configuration
- `authorization` - Authorization header value for registries that require auth. Defaults to following your .npmrc configuration
- `frequency` - The frequency that the new version warning should be shown.
- `frequencyUnit` - The unit of time that should be used to calculate the frequency (`days`, `hours`, `minutes`, `seconds`, `milliseconds`). Defaults to `minutes`.

## Example configuration

```json
{
  "oclif": {
    "plugins": ["@oclif/plugin-warn-if-update-available"],
    "warn-if-update-available": {
      "timeoutInDays": 7,
      "message": "<%= config.name %> update available from <%= chalk.greenBright(config.version) %> to <%= chalk.greenBright(latest) %>.",
      "registry": "https://my.example.com/module/registry",
      "authorization": "Basic <SOME READ ONLY AUTH TOKEN>"
    }
  }
}
```

## Notification Frequency

Once a new version has been found, the default behavior is to notify the user on every command execution. You can modify this by setting the `frequency` and `frequencyUnit` options.

**Examples**

Once every 10 minutes.

```json
{
  "oclif": {
    "warn-if-update-available": {
      "frequency": 10
    }
  }
}
```

Once every 6 hours.

```json
{
  "oclif": {
    "warn-if-update-available": {
      "frequency": 6,
      "frequencyUnit": "hours"
    }
  }
}
```

Once a day.

```json
{
  "oclif": {
    "warn-if-update-available": {
      "frequency": 1,
      "frequencyUnit": "days"
    }
  }
}
```

Once every 30 seconds.

```json
{
  "oclif": {
    "warn-if-update-available": {
      "frequency": 30,
      "frequencyUnit": "seconds"
    }
  }
}
```

# Environment Variables

- `<CLI>_SKIP_NEW_VERSION_CHECK`: Skip this version check
- `<CLI>_FORCE_VERSION_CACHE_UPDATE`: Force the version cache to update
- `<CLI>_NEW_VERSION_CHECK_FREQ`: environment variable override for `frequency` setting
- `<CLI>_NEW_VERSION_CHECK_FREQ_UNIT`: environment variable override for `frequencyUnit` setting
- `<CLI>_NEW_VERSION_CHECK_TAG`: [distribution tag](https://docs.npmjs.com/adding-dist-tags-to-packages) to check against (defaults to `latest`)

# Contributing

See [contributing guide](./CONRTIBUTING.md)

---
_Source: https://npm.io/package/@oclif/plugin-warn-if-update-available · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
