Skip to content

Migrate from WakaTime to AtoAxis

To move from WakaTime to AtoAxis, keep the WakaTime plugin you already use and change two lines in ~/.wakatime.cfg: api_url and api_key. New coding time then goes to AtoAxis. To bring your history, export your heartbeats from WakaTime and import the JSON file in the dashboard; the import resumes after interruptions and never counts the same heartbeat twice.

Before you start

Moving has two independent parts. Live tracking takes two lines in the settings file of the WakaTime plugin you already use. Your history moves separately, as a WakaTime data export you import into the dashboard. You can do either one first, and nothing in your WakaTime account is deleted by either.

  • Your editor with its WakaTime plugin, left installed exactly as it is
  • An AtoAxis account and API key. During Early Access, keys are issued to people on the list
  • Optional: your WakaTime history as a data export that contains raw heartbeats

Get an AtoAxis API key

One AtoAxis key replaces your WakaTime key in the plugin. The same key also covers every other editor and AI hook on your account.

  • Open Settings in the dashboard and find the API key panel
  • Choose Generate key and copy it
  • Regenerating later replaces the old key at once, so update every machine when you do

Point your WakaTime plugin at AtoAxis

Every WakaTime plugin reads the same settings file in your home folder: ~/.wakatime.cfg on macOS and Linux, %USERPROFILE%\.wakatime.cfg on Windows. Set two values and save it.

~/.wakatime.cfg
[settings]
api_url = https://api.atoaxis.com/api/v1
api_key = your_atoaxis_api_key
  • No AtoAxis extension is needed for this editor. AtoAxis implements the WakaTime heartbeat API, so the plugin keeps working as before
  • A plugin sends to one server, so from now on new activity goes to AtoAxis instead of WakaTime
  • Some plugins cache their settings until the editor restarts. If nothing arrives, restart the editor once
  • VS Code users can also switch to the first-party AtoAxis extension, which adds AI hook setup

Check that the first heartbeat arrived

Edit and save a file in any project, then open Import WakaTime history in the dashboard and choose Check heartbeat and project. It shows today’s heartbeat count, the time of the latest heartbeat and the projects seen today.

  • If the latest heartbeat is older than your test edit, check the plugin log and restart the editor
  • Reading code without editing, saving or switching files produces no heartbeat by design
  • The Overview page shows the same total once the first heartbeat has landed

Export your WakaTime history

Create the export at wakatime.com/settings, or through the WakaTime API. Choose the export of heartbeats, not daily summaries: a summary cannot be turned back into a timeline, so the importer rejects it.

WakaTime API
POST https://wakatime.com/api/v1/users/current/data_dumps
{ "type": "heartbeats" }

WakaTime prepares the file in the background and gives each export an expiry date, so download it once it is ready. Keep the JSON file as it is; there is no need to edit or split it yourself.

Import the export into AtoAxis

Open Import WakaTime history in the dashboard, choose the JSON file and select Review and import history. The browser splits a large export into chunks, strips fields the import does not use, and uploads the chunks in order.

  • Interrupted? Select the same file again and the import resumes from the chunks already received
  • Importing the same file twice does not count its time twice: already imported heartbeats are skipped
  • When it finishes, the page shows your all-time total before and after, plus how many records were skipped and why
  • A small export, up to 1 MiB and 10,000 heartbeats, can also go through Settings → Maintenance

What changes after you move

Your old and new activity now sit on one timeline, and every account keeps its complete history rather than a recent window. A few things behave differently from WakaTime, and it is better to know them before you compare totals.

  • Imported AI work stays AI but has no agent name: a WakaTime export shows that AI was involved, not which tool, so AtoAxis does not guess one
  • Two checkouts of one repository may appear as two projects; join them under Settings with project rules or a manual merge
  • AI hooks for Claude Code, Codex CLI, Gemini CLI, Kilo Code and Kimi Code CLI are set up separately from the WakaTime plugin
  • To go back, delete the api_url line and put your WakaTime key back in api_key. Nothing in either account is lost

What does migrating from WakaTime to AtoAxis involve?

Keep your WakaTime plugin and change two lines in ~/.wakatime.cfg, api_url and api_key. New coding time then goes to AtoAxis; history comes from a WakaTime export you import.

A 30-second tour recorded from this website: the time-ring overview, the Human + AI split, the AI coding tracker and planned pricing.

Key takeaways

Plugin:
No new plugin; the WakaTime plugin you already use keeps working.
Config:
Two lines in ~/.wakatime.cfg: api_url and api_key.
History:
Export heartbeats from WakaTime, then import the JSON file.
Going back:
Remove api_url and restore your WakaTime key; neither account loses data.

How do you validate the migration before relying on it?

For example, after changing the two lines, code for a few minutes and run wakaclock-cli status, then check that the day appears in the dashboard. Compare a handful of imported days with the same days in your WakaTime export before trusting long-range trends.

How to read coding activity metrics
SignalWhat it supportsWhat it cannot prove
Editor heartbeatsRecorded coding activityAll working time
Attributed changesReported source of changesCode quality or time saved
This comparison separates what the data supports from conclusions it cannot establish.

Recommendation

Keep your WakaTime export until you have checked the imported projects and dates. Migrate one machine first, and change the remaining machines once the first one reports as expected.

Trade-offs to weigh

On the other hand, an import carries your history but not evidence it never contained. Imported days have no AI attribution, so compare like with like when a trend crosses the migration date.

“A metric that cannot be established should say so instead of rendering as zero.”

— Jitwisut Thobut, Founder & developer, AtoAxis

Sources and review

Written and reviewed by , Founder & developer of AtoAxis. Reviewed . Product claims describe our implementation; examples are illustrative, not customer research.

Frequently asked questions

Do I need to uninstall the WakaTime plugin?

No. Keep it installed and change api_url and api_key in ~/.wakatime.cfg. AtoAxis implements the WakaTime heartbeat API, so the plugin works as before.

Can I import my full WakaTime history?

Yes, from a WakaTime data export of type heartbeats. Large exports are split into chunks in the browser and imported in order, and the import can be resumed with the same file.

Why was my WakaTime export rejected?

It most likely contains daily summaries instead of raw heartbeats. Summaries cannot be rebuilt into a timeline, so create a new export and choose heartbeats.

Will importing the same file twice double my time?

No. Each imported heartbeat gets an ID derived from its content, so heartbeats that were already imported are skipped and reported as skipped.

Does the imported history keep AI information?

Heartbeats that WakaTime marked as AI stay AI, but without an agent name, because the export does not say which tool made the change.

Can I switch back to WakaTime later?

Yes. Delete the api_url line and put your WakaTime key back in api_key. Data already in either account is not deleted.