# geni upgrade (/cli/upgrade)



```sh
geni upgrade
```

Checks the npm registry for the latest `@general-input/cli` release and, if you're behind, reinstalls via `npm install -g`. Already current? It says so and exits.

After an upgrade, run `geni skills install` so your AI agents pick up the latest bundled skill content.

## Check without installing [#check-without-installing]

```sh
geni upgrade --check
```

Prints whether a newer version exists and exits without touching your install. Exits `0` when current, `79` when an upgrade is available — same code the API uses when it refuses a too-old CLI.

## Non-npm installs [#non-npm-installs]

`geni upgrade` only rewrites installs it can prove are owned by `npm install -g` (the running binary resolves inside `npm root -g`). Anything else — a linked development checkout, a pnpm or volta global — gets instructions to upgrade the way it was installed, and nothing is touched.

## Permissions [#permissions]

If your global npm prefix needs elevated permissions, npm's error will say so; retry with:

```sh
sudo npm install -g @general-input/cli@latest
```
