Building ActivityWatch from source gives you the latest code and lets you modify any component. The build process uses Make to orchestrate building all submodules.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ActivityWatch/activitywatch/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Python 3.8+ — verify with
python3 --version - Git — for cloning with submodules
- Make — GNU Make 4+
- Node.js 16+ — required to build the web UI (
aw-webui) - pip / poetry — Python package management
Clone the repository
--recursive, initialize submodules:
Set up a virtual environment
- Linux / macOS
- Windows
Build all components
aw-core, aw-client, aw-qt, aw-server, aw-server-rust, aw-watcher-afk, and aw-watcher-window. It also builds the web UI bundled with aw-server.
The build step compiles the Rust components (
aw-server-rust) if Rust is installed. To skip it, set SKIP_SERVER_RUST=true:Run ActivityWatch
Update to latest
Pull the latest changes and rebuild:Build a distributable package
dist/activitywatch/. Platform-specific installers are produced by scripts/package/package-all.sh.
