Frequently Asked Questions
WakaTime only logs time when you're using your text editor by "pinging" the api with heartbeat events. You set a timeout value (default 15 minutes) and when you're not using your text editor for longer than your timeout value, that time doesn't get logged.
For example, if you took a 10 minute break and your timeout is set to the default 15 minutes, the 10 minutes where you were AFK will be logged. However, setting your timeout to 5 minutes would not log your 10 minute break.
WakaTime can accurately reflect the time you were coding in each file down to the second.
This high-level state machine shows how:
- WakaTime starts a timer when you begin editing a file.
- The timer is stopped when you go AFK by reaching your timeout setting. When you go AFK, WakaTime rewinds the timer until the time you last edited the file.
- The timer is also stopped when you switch to editing a different file. In this case, WakaTime saves the time from when you started editing the original file until when you switched to the new file. The time is reset and we start over at step 1 with the new file.
Your public profile uses the default 15 minute timeout value with a time range of
Last 7 Days from Yesterday.
We also subtract coding activity from language
The leaderboards use the same formula as your public profile.
Setting your preferences to the defaults, matching the leaderboard time range, and subtracting coding activity categorized as language
Other will show the same coding activity as your dashboard.
Yes, when working offline your logged time is saved in an sqlite3 database at
The next time you use WakaTime with internet access, your logged time is syncronized to the api.
WakaTime logs heartbeat events triggered from user actions inside your text editor.
Heartbeat events contain data such as:
- absolute path of current file 
- current time as a UNIX epoch float (seconds.milliseconds)
- whether the event was triggered from writing to a file
- current project from a supported revision control
- current branch from a supported revision control
- total number of lines from the file as an integer
- current cursor position as an integer
- libraries and frameworks detected from the file, for example Flask or Rails
Heartbeat events are logged:
- every 2 minutes if you are actively using your text editor
- when you switch between files
- every time you write to a file
hidefilenames = true to your
$HOME/.wakatime.cfg file to obfuscate your file paths and file names.
This means only your project names will be sent to the website, so you can not see logged time per file.
Note: Sublime Text users won't have a
$HOME/.wakatime.cfg file, so create one with these contents:
[settings] hidefilenames = true
Yes, you can export all your logged time in JSON format here.
Yes, all WakaTime plugins play well together. You can switch between multiple supported editors and your time will be logged correctly. If you use revision control software, your time will be logged to the correct project even when using multiple editors.
WakaTime recognizes the project's name one of four ways:
To set the project name for a folder, go to that folder in a terminal and type:
Files inside that folder will be logged under a project with that folder's name.
Custom rules on your settings page:
.wakatime-projectfile inside your project directory. Type the project name as the first line of this file and WakaTime will use that project name for all files inside this directory.
Adding the project directory to your
~/.wakatime.cfgfile under the [projectmap] section.
Unfortunately not yet.
To exclude projects from being logged in the future, add the project's path to your
~/.wakatime.cfg file under the exclude setting.
Projects will dissapear from your dashboard after a while if you are excluding them, but if you really need to delete a project shoot us an email.
Read the Troubleshooting Guide.
To check for error messages:
$HOME/.wakatime.log. Latest errors are at the bottom of that file.
For Sublime, also check the Sublime Console by pressing ctrl+`.
For Jetbrains IDEs, also check the
idea.logfile from Help -> Show Log.
Post any stack traces as an issue in the appropriate GitHub repo.