> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clayzo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# doctor and update

> See what's installed, and bring it all up to date.

## update

```text theme={null}
clayzo update [--yes] [--dry-run] [--json]
```

Brings everything to the current release: the `clayzo` CLI installed for your machine, this project's Clayzo packages and the agent skills. It lists what is behind and the command it will run for each, then asks before changing anything.

* The project's packages are updated with its package manager, and each stays in the dependency section it's already in.
* The skills are updated where they're installed: in the project, for your user, or both.
* The CLI installed for your machine is updated with the package manager that installed it: npm, pnpm, Yarn or Bun.

| Option | Description |
| - | - |
| `--yes` | Update without asking. Required when there's no terminal to ask in, such as CI or an agent. |
| `--dry-run` | List what is behind and the commands, and change nothing. |
| `--json` | Print the plan, and whether it was applied, as JSON on stdout. |

The package managers' output goes to stderr. If a step fails, `update` stops with a `CLAYZO_UPDATE_FAILED` error naming the command that failed, and exits `1`.

## doctor

```text theme={null}
clayzo doctor [--updates] [--json]
```

Shows the CLI that is running, the CLI installed for your machine, this project's Clayzo packages, the agent skills and whether this machine is signed in, with an arrow on each one that is behind the current release. In a terminal it then offers to update them.

| Option | Description |
| - | - |
| `--updates` | Check for a release now instead of using the check cached for a day. |
| `--json` | Print the full report as JSON. |

Exit code `2` means this CLI is below the minimum the service supports, and protected commands won't run until it's updated.

## Update notices

When something is behind the current release, every command prints one line on stderr saying what, and the command that updates it. For example:

```text theme={null}
[clayzo] clayzo 0.3.13 is out; you have 0.3.12 for this machine and 0.3.11 in this project. Run `clayzo update` to update everything.
```

In a terminal, a command that finishes also offers to update, at most once a day. It never asks in CI or when an agent runs it. Set `NO_UPDATE_NOTIFIER=1` to turn notices and offers off.

Neither command needs a sign in.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.