Most common configuration options you need is in the Settings page of the web UI.
Other, more technical configuration options, are available through the config files. These are located in different places depending on your platform, see the directories <config-directory> documentation for where to find them.
Note
In v0.11.0, the previous .ini config files used by all Python-based modules were replaced by .toml files (commented out by default, to allow for updates to the defaults). If you had made any modifications to the ini files prior to v0.11, you need to migrate them to the new files.
Configuration options for the server, client, and default watchers are listed below:
These settings go under the [server] section of aw-server/aw-server.toml.
hostAddress to bind the server to. The default islocalhost. Binding to any other address exposes the server to the network, see :doc:`remote-server`.portPort number to start the server on.storageType of storage for holding buckets and events. Supported types arepeewee(the default),sqlite, ormemory(useful in testing).cors_originsComma-separated list of allowed origins for CORS (Cross-Origin Resource Sharing). Useful in testing and development to let other origins access the ActivityWatch API, such as aw-webui in development mode on port 27180.query_cacheWhether to cache query results for finished past periods in memory. The default istrue.custom_staticA table under[server.custom_static]mapping watcher names to directories containing their :doc:`custom visualizations <watchers>`.
These settings go at the top level of aw-server-rust/config.toml (there is no [server] section).
addressAddress to bind the server to. The default is127.0.0.1. Binding to any other address exposes the server to the network, see :doc:`remote-server`.portPort number to start the server on.corsList of allowed origins for CORS (Cross-Origin Resource Sharing). Useful in testing and development to let other origins access the ActivityWatch API, such as aw-webui in development mode on port 27180.cors_regexList of regular expressions matching additional allowed CORS origins.custom_staticA table mapping watcher names to directories containing their :doc:`custom visualizations <watchers>`.api_keyUnder an[auth]section: an optional API key that clients must send to access the API. Authentication is disabled when it is unset, see :doc:`security`.
server.hostnameHostname of the server to connect to.server.portPort number of the server to connect to.client.commit_intervalHow often to commit events to the server (in seconds).
timeoutTime in seconds after which a period without keyboard or mouse activity is considered to be AFK (away from keyboard). The default is180seconds.poll_timeTime in seconds between checks for activity. The default is5seconds.
These settings live in aw-watcher-afk/aw-watcher-afk.toml, the config file for the aw-watcher-afk component, not in the ActivityWatch web UI settings page.
You can open the config folder from the ActivityWatch tray menu, or use the :ref:`config directory <config-directory>` for your platform.
If a setting is commented out in the file, remove the leading # before changing it.
After saving the file, restart ActivityWatch or aw-watcher-afk for the change to take effect.
See aw_watcher_afk/config.py for the source of the default config values.
poll_timeTime in seconds between window checks.exclude_titleDon't track window titlesstrategy_macosThe strategy to use on macOS to fetch the active window, can be "swift", "jxa" or "applescript". Swift strategy is preferred.