Awesome Open Source
Awesome Open Source

Toggl Track

Native desktop applications for the leading time tracking tool Toggl.

GitHub last commit GitHub issues GitHub pull requests Licence BSD-3

AboutDownloadBuildChange logContribute


Toggl Desktop is a Toggl time tracking client with many helper functions that make tracking time more effortless and smooth. Features such as Idle detection, reminders to track and Pomodoro Timer make this app a great companion when productivity and efficiency is the goal.

Toggl Desktop apps


Toggl built and signed apps for all platforms


64bit dmg    |     Mac App Store

Officially macOS 10.11 and newer stable macOS versions are supported.


64bit installer    |    32bit installer   |    Chocolatey    |    Microsoft Store

App has been tested on Windows 7, 8, 8.1 and 10. Toggl Desktop Windows app has not been tested on Surface type touchscreen environments.


Tarball    |    Flathub    

Only 64bit is supported


Please check OS specific requirements below.

By default the app builds for testing server. To use the compiled app with live server see this guide



  • macOS 11+, Xcode 12.2+ and Swift 5+
  • Install Bundler
$ sudo gem install bundler


# Prepare cocoapod
$ make init_cocoapods

Run bundle exec pod repo update in case there is an error about out-of-date source repos (some pod version is missing).

  • Open workspace at src/ui/osx/TogglDesktop.xcworkspace
  • Select TogglDesktop scheme and build.



You'll need these Qt (at version 5.12 or higher) modules: QtWidgets (with private headers), QtNetwork, QtNetworkAuth, QtDBus, QtX11Extras

If Qt is not installed from your distribution's package manager, you will need to set the CMAKE_PREFIX_PATH environment variable to point to the lib/cmake folder in the Qt version you wish to use.

These dependencies are mandatory:

  • libXScrnSaver (libxss-dev in deb-based distros and libXScrnSaver-devel in rpm-based)

You can install them all in debian with a command:

 $ sudo apt install libxss-dev build-essential libgl-dev libreadline-dev

These dependencies are optional and will be bundled if the USE_BUNDLED_LIBRARIES CMake argument is set or your system does NOT have their development packages installed:

  • POCO
  • Lua
  • jsoncpp
  • Qxt

These libraries will be bundled regardless of your system:

  • bugsnag-qt
  • qt-oauth-lib

Build the app

in the toggldesktop source tree root

mkdir -p build && pushd build             # Create build directory
cmake ..                                  # Setup cmake configs
make -j8                                  # Build the app. The number defines the count of parallel jobs (number of your CPU cores is a good value for that)
./src/ui/linux/TogglDesktop/TogglDesktop  # Run the built app


Install Visual Studio 2019 with .NET desktop development, Desktop development with C++ and Universal Windows Platform development components checked during installation. You can download free Visual Studio Community here.

Then open the solution file src\ui\windows\TogglDesktop\TogglDesktop.sln and run it in Debug mode.

The solution is using OpenSSL binaries. To rebuild OpenSSL from sources refer to this page.

Change log

Change log can be viewed at


Before sending us a pull request, please format the source code:

$ make fmt

Also, please check for any cpplint issues:

$ make lint

Check if unit tests continue to pass:

$ make test

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c-plus-plus (18,751
objective-c (10,940
swift (7,756
linux (2,512
macos (1,768
windows (1,462
qt (363
desktop (305
wpf (211
visual-studio (204
time-tracker (38