Skip to content

WakaTime

WakaTime

WakaTime for OpenCode tracks your AI coding activity, lines of code, and time spent. It integrates with the WakaTime dashboard for detailed analytics about your AI-assisted development patterns.

Key Features

FeatureDescription
Automatic CLI managementDownloads and updates wakatime-cli automatically
Detailed file trackingTracks file reads and modifications (edit, write, patch, multiedit)
AI coding metricsSends --ai-line-changes for WakaTime AI coding analytics
Rate-limited heartbeats1 per minute per project to avoid API spam
Session lifecycleSends final heartbeat on session idle/end
Batch tool supportTracks file operations executed via batch tool

Prerequisites

Configure your WakaTime API key in ~/.wakatime.cfg (or $WAKATIME_HOME/.wakatime.cfg):

[settings]
api_key = waka_your_api_key_here

Get your API key from wakatime.com/settings.

Installation

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-wakatime"]
}

Via npm

npm i -g opencode-wakatime
opencode-wakatime --install

From source

git clone https://github.com/angristan/opencode-wakatime
cd opencode-wakatime
npm install && npm run build
node bin/cli.js --install

What Gets Tracked

ToolData Extracted
readFile path (from title)
editFile path, additions, deletions (from filediff)
writeFile path, new file detection
patchFile paths from output, diff count
multieditFile paths and changes from each edit result
batchTracks all child tool operations

Each heartbeat includes file path, project folder, AI line changes (additions - deletions), category “ai coding”, and plugin identifier.

Files

FilePurpose
~/.wakatime/opencode.logDebug logs
~/.wakatime/opencode-{hash}.jsonPer-project state (last heartbeat timestamp)
~/.wakatime/opencode-cli-state.jsonCLI version tracking
~/.wakatime/wakatime-cli-*Auto-downloaded CLI binary

Troubleshooting

Enable debug logging in ~/.wakatime.cfg:

[settings]
debug = true

Logs are written to ~/.wakatime/opencode.log.