docs: Added documentation for the new update command

2026-05-19 14:42:53 -06:00
parent ec7e6eb438
commit b1de8ad257
2 changed files with 82 additions and 0 deletions
+57
@@ -81,6 +81,63 @@ To use a binary from the releases page on Linux/MacOS, do the following:
3. Extract the binary with `tar -C /usr/local/bin -xzf loki-<arch>.tar.gz` (Note: This may require `sudo`)
4. Now you can run `loki`!
# Updating Loki
Loki can update itself in place. Running:
```shell
loki --update
```
downloads the latest release from GitHub for your operating system and
architecture, replaces the running `loki` binary, and reports the new version.
Restart Loki afterwards for the update to take effect.
To update to a specific release instead of the latest, pass a version. Either pass
the bare version or the `v`-prefixed tag:
```shell
loki --update v0.4.0
# or
loki --update 0.4.0
```
If Loki is already on the requested version, it reports that and makes no
changes.
## Package-manager installs
If Loki was installed with Homebrew or `cargo install`, replacing the binary in
place would leave your package manager's records out of sync with the file on
disk. When `loki --update` detects one of these installs it prints a warning
and:
* in an interactive terminal, asks for confirmation before continuing;
* in a non-interactive context (such as a script), refuses unless `--force` is
passed.
```shell
loki --update --force
```
For Homebrew and Cargo installs the recommended way to update remains your
package manager:
```shell
brew upgrade loki # Homebrew
cargo install --locked loki-ai # Cargo
```
## Permissions
`loki --update` replaces the binary at its current location. If that directory
is not writable by your user (for example a `loki` placed in `/usr/local/bin`
by `root`), the update stops before downloading anything and asks you to re-run
with elevated permissions (e.g. with `sudo`) or to update through your package
manager.
Loki can also be updated from within the REPL using the
[`.update` command](REPL).
# Tab-Completions
You can also enable tab completions to make using Loki easier. To do so, add the following to your shell profile:
+25
@@ -255,6 +255,31 @@ Loki's own bundled assets are replaced.
(your configured MCP servers and any secret references in them) with Loki's bundled template. The other categories
only overwrite Loki's built-in assets and leave your custom ones alone.
## `.update` - Update Loki
The `.update` command updates the Loki binary itself to the latest release,
without leaving the REPL to run a separate installer.
| Command | Description |
|---------------------|------------------------------------------------------|
| `.update` | Update to the latest release |
| `.update latest` | Update to the latest release |
| `.update <version>` | Update to a specific release (e.g. `.update v0.4.0`) |
A version may be given either bare (`0.4.0`) or `v`-prefixed (`v0.4.0`). If Loki
is already on the requested version, it says so and makes no changes; otherwise
it downloads the matching build, replaces the binary, and reports the new
version. **Restart Loki** for the update to take effect.
If Loki was installed via Homebrew or `cargo install`, `.update` prints a
warning (updating in place desyncs your package manager) and asks for
confirmation before continuing; for those installs, prefer `brew upgrade loki`
or `cargo install --locked loki-ai`.
`.update` cannot be run from inside a macro. The same operation is available on
the command line as `loki --update`. For full CLI details, including the
`--force` flag for non-interactive updates, see the [Installation documentation](Installation).
## `.info` - Display information about the current mode
The `.info` command provides useful information about different modes that Loki may be operating in. It's helpful if you
want a quick understanding of the system info, a role's configuration, an agent's configuration, etc.