Skip to content


ActivityWatch is a bundle of software that tracks your computer activity. You are, by default, the sole owner of your data.

ActivityWatch is:

  • A set of watchers that record relevant information about what you do and what happens on your computer (such as if you are AFK or not, or which window is currently active).
  • A way of storing data collected by the watchers.
  • A dataformat accomodating most logging needs due to its flexibility.
  • An ecosystem of tools to help users extend the software to fit their needs.


  • Download the latest release
  • Unpack it and move it for example to ~/.local/bin/activitywatch.
  • Add the aw-qt executable to the autostart.

It will start the web interface at http://localhost:5600 and will capture the data.


First go to the settings page of the Web UI, you can define there the rules for the categories.

More advanced settings can be changed on the files, but I had no need to go there yet.

The used directories are:

  • Data: ~/.local/share/activitywatch.
  • Config: ~/.config/activitywatch.
  • Logs: ~/.cache/activitywatch/log.
  • Cache: ~/.cache/activitywatch.


By default ActivityWatch comes with the next watchers:

But you can add more, such as:

  • aw-watcher-web: The official browser extension, supports Chrome and Firefox. Watches properties of the active tab like title, URL, and incognito state.

    It doesn't work if you Configure it to Never remember history, or if you use incognito mode

    It's known not to be very accurate. The overall time spent in the browser shown by the aw-watcher-window is greater than the one shown in aw-watcher-web-firefox.

  • aw-watcher-vim: Watches the actively edited file and associated metadata like path, language, and project name (folder name of git root).

    It's impressive, plug and play:

    It still doesn't add the branch information, it could be useful to give hints of what task you're working on inside a project.

They even show you how to create your own watcher.


There is currently no syncing support. You'll need to export the data (under Raw Data, Export all buckets as JSON), and either tweak it so it can be imported, or analyze the data through other processes.