Logs
Every long-running component is a systemd unit — use journalctl -u <name>.
# Live tail — most common
sudo journalctl -u os-server -f
sudo journalctl -u hal -f
sudo journalctl -u openclaw -f
sudo journalctl -u bootstrap -f
# Last 100 lines
sudo journalctl -u os-server --no-pager -n 100
# Errors only
sudo journalctl -u hal -p warning --no-pager -n 100
# By time window
sudo journalctl -u os-server --since "10 minutes ago"
sudo journalctl -u hal --since "2026-07-08 10:00" --until "2026-07-08 11:00"
Grep tip: the log lines carry a component=<name> tag. Filter by that when
tailing os-server:
sudo journalctl -u os-server -f | grep component=mqtt