Skip to content

Updating

malac update # install the latest release
malac update --check # only check

An update downloads the release archive for your machine, verifies it against the release’s SHA256SUMS, unpacks it next to the installed binaries, and moves the new malac-control and malac into place with an atomic rename. A rename never disturbs a running process, so:

  • running sessions and their subagents keep the version they started with,
  • the daemon, which holds every interactive session, keeps its version until it restarts,
  • new processes use the new version,
  • malac-control is replaced first, so a malac that starts in the middle finds a control service at least as new as itself.

A lock file keeps two malac processes from updating the same directory at once.

After an update, malac update says so:

updated to malac 1.0.1. Running sessions keep their version until you restart them.

After an update, your terminal is newer than the daemon. The terminal UI shows daemon 1.0.0 running; restart it when idle in the status line, the line mode prints a notice, and malac daemon status suggests the same. When no agents or jobs are running, restart it:

malac daemon restart

or click the status line note, or choose Help → Restart the daemon in the terminal UI. Workspaces and transcripts are kept; open terminals and web pages reconnect, and agents resume from their transcripts when you prompt them. malac daemon restart refuses while agents or jobs run, unless --force.

malac looks for a newer release in the background, at most once a day, and shows when one is available: in the terminal UI’s status line and in the web UI. The check reads the latest release’s SHA256SUMS from GitHub, and its result is cached in ~/.malac/update.json.

[update]
check = true # look for new releases (default)
auto = false # install them automatically (default: off)

With auto = true, a new release is installed as soon as it is found. Running sessions still keep their version.

You can also ask: “is there a newer malac? install it”. See Configure malac by asking.

malac update replaces the binaries in place, so it needs a writable install directory and a release for your platform.

Installed with Update with
The install script, a release archive (~/.local/bin or any writable directory) malac update
Homebrew brew upgrade lobirus/malac/malac
The macOS .pkg (/usr/local/bin, not writable) The new installer from the releases page, or sudo malac update
A platform without release builds A source build: MALAC_FROM_SOURCE=1 with the install script

malac detects which case applies and tells you what to run.

MALAC_RELEASES points both the update check and the installer at another release base URL, for example an internal mirror that has the same layout as GitHub releases (<base>/latest/download/SHA256SUMS).

malac is created by lobirus and released under the MIT license. About malac