Repository navigation
Updating
How malac checks for and installs new releases without interrupting running agents.
malac update # install the latest release
malac update --check # only checkAn 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-controlis 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.1.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 restartor 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).
Getting started
Tutorials
- Tutorials
- Tutorial 1: Your first task
- Tutorial 2: Delegating to subagents
- Tutorial 3: Automating a browser
- Tutorial 4: Long-term memory with Milvus
- Tutorial 5: Running malac unattended
- Tutorial 6: Customizing malac
- Tutorial 7: Running malac on a server
Using malac
- Workspaces, tabs and the daemon
- The terminal UI
- Plain mode and scripting
- Sessions
- Jobs
- Permissions and autopilot
- Subagents
- Memory
- Project context
- Plugins and marketplaces
- Computer and browser control
- Web UI
- VS Code
- Remote access
- Mobile (preview)
- MCP servers
- Configure malac by asking
- Updating
Reference
- CLI
- Slash commands
- Configuration
- Tools
- Control service tools
- JSON events
- Protocol
- Environment variables
Guides
- Using an LLM gateway
- Running models locally
- Vector memory with Milvus
- Controlling a remote machine
- Writing agent types, skills and commands
- Security model
- Things to know
Project