Emacs plugin for automatic time tracking and metrics generated from your programming activity.
Emacs Lisp
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
HISTORY.rst v1.0.2 May 5, 2015
README.md improve install instructions Mar 21, 2017
wakatime-mode-test.el Add validity checker for API keys Apr 26, 2016
wakatime-mode.el Fix #29 May 17, 2017


Emacs Minor Mode for WakaTime

wakatime-mode is an automatic time tracking extension for Emacs using WakaTime.


Heads Up! WakaTime depends on Python being installed to work correctly.

  1. Install wakatime-mode for Emacs using MELPA.

  2. Install wakatime-cli with pip install wakatime.

  3. Add (global-wakatime-mode) to your init.el file, then restart Emacs.

  4. You will see a prompt asking for the path to wakatime-cli. Run which wakatime and enter that path into the emacs prompt, then press enter.

  5. Enter your api key in your init.el or ~/.wakatime.cfg file.

  6. Use Emacs with wakatime-mode turned on and your time will be tracked for you automatically.

  7. Visit http://wakatime.com to see your logged time.

Screen Shots

Project Overview


Enable WakaTime for the current buffer by invoking M-x wakatime-mode. If you wish to activate it globally, run M-x global-wakatime-mode.


Set variable wakatime-api-key to your API key.

Point wakatime-cli-path to the absolute path of wakatime-cli.

Optionally, point wakatime-python-bin to the absolute path of python on your system. Defaults to python which only works if python is in your PATH.


To be sure heartbeats are getting sent, turn on debug mode by adding this line to your ~/.wakatime.cfg file:

debug = true

Then run tail -f ~/.wakatime.log and make sure you see a 201 response code from the WakaTime API.