Skip to content

Update your LenserFight installation ​

LenserFight notifies you automatically when a newer version is available. This guide covers how to act on those notifications, how to update the CLI and the web app, and how to resolve common issues.


CLI ​

Check whether you are up to date ​

sh
lf update

This queries the npm registry, compares your installed version, and prints the correct update command.

Install the latest stable version ​

sh
# npm
npm install -g @lenserfight/cli@latest

# pnpm
pnpm add -g @lenserfight/cli@latest

# yarn
yarn global add @lenserfight/cli@latest

Verify after updating ​

sh
lf --version
lf doctor

lf doctor runs a full environment check including a version freshness test.

Background update hint ​

After every command the CLI prints a one-line hint to stderr if a newer version exists in its local cache. The cache is refreshed at most once per 24 hours — no network call fires on every command.

  ╭─────────────────────────────────────────────────────╮
  │  Update available: v0.10.0-alpha.2 → v0.11.0        │
  │  Run `lf update` for upgrade instructions.          │
  ╰─────────────────────────────────────────────────────╯

Suppress update checks ​

sh
LF_NO_UPDATE_CHECK=1 lf <command>   # skip for this invocation
lf --local <command>                 # local mode also skips

Web app ​

Automatic banner ​

When a newer web version is deployed, a slim banner appears at the top of the page:

Update available: v0.10.0-alpha.2 → v0.11.0 · [Refresh]

Click Refresh to reload the page with the new version. The banner dismisses itself for the current browser session. It reappears in a new tab or after a browser restart.

Why is there a banner instead of an auto-reload? ​

The web app deliberately does not force-reload. Unexpected reloads can disrupt in-progress work (writing a battle, configuring a lens, mid-session).

Hard refresh ​

If you suspect a stale bundle without a banner:

Ctrl+Shift+R  (Windows/Linux)
Cmd+Shift+R   (macOS)

Or clear the browser cache via DevTools → Application → Storage → Clear site data.


Release channels ​

ChannelWho should use it
stable (latest tag)Production use — recommended
betaPre-release feature testing
rcRelease candidates
nightlyBleeding-edge builds

The CLI update-check and web banner only compare against the stable channel by default.

To pin to a pre-release channel:

sh
npm install -g @lenserfight/cli@beta

Troubleshooting ​

lf update cannot reach the registry ​

  1. Check your internet connection.
  2. If behind a corporate proxy, set:
    sh
    export HTTPS_PROXY=http://proxy.corp.example.com:8080
  3. Use --json to see the raw result for debugging:
    sh
    lf update --json

The banner does not appear even though a new version is deployed ​

  • The web app fetches /version.json at most once per hour. Wait up to an hour, or do a hard refresh.
  • /version.json is written only during a production build. Local dev builds will not show update banners.
  • If the banner was dismissed in this session, it will not reappear until you open a new tab.

The CLI hint keeps showing after updating ​

The cache at ~/.lenserfight/update-check.json may still hold the old version. Delete it:

sh
rm ~/.lenserfight/update-check.json

Multiple global installs ​

If you have both npm and pnpm global paths on your $PATH, you may run different versions depending on which one resolves first. Check:

sh
which lf
lf --version

Uninstall from the unused package manager to avoid confusion.

Rollback ​

Downgrade to a specific CLI version:

sh
npm install -g @lenserfight/cli@0.10.0

List all published versions:

sh
npm view @lenserfight/cli versions --json

See also ​