git clone 'git://github.com/wakatime/wakatime-mode.git'

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. Enter your api key, then press enter.

  3. Install wakatime-cli with pip install wakatime.

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

  5. 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.

  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.

Troubleshooting Common Problems

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.