Time tracking that lives in your GitHub repo.

Clockoli is a free, open-source time tracker with GitHub as the backend. Track GitHub issues, pull requests, or any website. Keep personal work in your own repo, or track together with your team in a shared one. No seat or usage limits, no vendor lock-in — free forever.

  • Privacy firstno vendor to trust
  • Free foreverno seats, no trial
  • Open sourceread every line
  • Agent-readyask an AI where time went
Fix replication failure 1:27:44
acme/time-data drag a block to correct a time

Built for the twenty times a day you touch it.

A tracker earns its place in the small moments — starting without thinking, fixing the time you forgot to stop, seeing the week at a glance. That is where the work went.

Start on whatever you have open

One click in the GitHub header, or the toolbar popup anywhere else. The page URL becomes the task; a title is optional.

Fix a time without a dialog

Edit start and stop inline as HH:MM – HH:MM. Move an entry into its neighbour and the neighbour follows, saved in one commit.

Drag the day into shape

The timeline above is the real editor, not a picture of one. Grab a block and resize it. Each task keeps the same colour every day, so you recognise your week at a glance.

See where the time went

Live totals for Today and This week; monthly periods in Activity and Reports. Timeline, Calendar and List views, search by URL or title over any period.

Then bill from it.

Reports reads every teammate's branch in the shared repository as one view. Rates stay on your machine, so you can share the hours without sharing what they cost.

Sep 1 – Sep 30taskshoursbillable
acme/foo2441:20€3,306
docs.acme.com912:45€1,020
acme.zendesk.com3118:05€1,085
Total6472:10€5,411
  • Repository-wide reports across everyone writing to the shared repo
  • Break down by day, week, month, person, source or task
  • Total time, average per task, distinct task count and billable amount
  • Effective-dated hourly rates, stored in your browser and never committed
  • Mixed currencies converted at the rate for each day
  • Export to CSV or JSON, or print straight to PDF
  • Invoice from the filtered report — numbered, taxed, printed or saved as PDF

Why people move to it.

Everything a tracker normally charges for, and a few things they cannot offer at all.

Your data is yours

Hours land in a private GitHub repo you already control. Access, retention and backup follow your rules, not a vendor’s.

Lives where you work

Start and stop time without leaving the page you’re working on. Clockoli can track any website, while GitHub issues and pull requests get an extra timer right in the page.

Any URL is a task

Issues, pull requests, docs, tickets, dashboards, design files. If it has an address, you can bill time to it.

Reports the team can share

Your team can track time into the same private repository, and Reports turns it into one shared view. Group time by day, teammate, source, or task.

Invoice without exposing rates

Keep rates private, even when time is shared. Clockoli stores rates locally, so teammates can track into the same repository without seeing what anyone else charges or costs. Set rates per teammate in your browser, and track projects in money as well as hours. Rate changes are kept over time, so long-term financial reports use the rate that was actually in effect. Reports and invoices are calculated in your browser, so no server ever holds your rates; the only other copy is a settings backup you export yourself.

Two-minute setup

Point it at a repository and start. No workspace to provision, no seats to buy, no server to run.

One tool, several employers

Each client gets its own repository and its own timeline. Personal work stays in a repo of your own.

Clone it. Back it up. Ask an AI.

Your hours are files in your own repository, not rows in someone else’s database. One git clone is a complete backup. Hand the clone to an AI agent and ask where your week went or which tasks ran over — no export step, no API key. Free forever and open source.

How it compares.

Open source is not unique to Clockoli: Kimai and solidtime offer it too. The difference is owning your records without operating a separate time-tracking backend. Clockoli uses GitHub; self-hosted trackers give you more control and more software to maintain.

ClockoliToggl TrackClockifyHarvestKimaisolidtime
Where your hours livePlain JSONL files in your GitHub repoVendor-hosted serviceVendor-hosted serviceVendor-hosted serviceYour database; managed Cloud also availableYour database; managed Cloud also available
Writing to several places at onceOne install, a repository per client, each one owned by that clientSeveral workspaces, one account; all of it in TogglSeveral workspaces, one account; all of it in ClockifyA separate Harvest account per companyCustomers and projects inside the one instance you hostOrganizations and projects inside the one instance you host
Own your data without running a serverGitHub is the backend; no separate tracker server or databaseNo customer-controlled backend in SaaSNo customer-controlled backend in SaaSNo customer-controlled backend in SaaSRun the Kimai application and databaseRun the solidtime backend and database
Source codeOpen source (GPL-3.0 or later)Proprietary serviceProprietary serviceProprietary serviceOpen source core (AGPL-3.0)Open source core (AGPL-3.0)
Free plans and team costsCore is free; no seat or usage limits. GitHub limits applyLimited free plan; paid team featuresFree: up to 5 people; paid upgradesFree: 1 seat, 2 projects; paid teamsFree core; hosting and optional plugins extraFree self-hosted core; Cloud solo free, teams paid
ReportingCross-repo team reports; browser-local billable ratesBasic reports free; advanced/team features paidReports included free; advanced features paidTime reports; advanced reporting by planTeam, project and customer reportsReports; Cloud sharing/PDF and team controls paid
Who can read task titlesAnyone with repo read access; hosted by GitHubWorkspace access and rolesWorkspace access and rolesAccount roles and project accessYour server admins; team/role permissionsYour server admins; organization/project roles
Hourly rates and teammate accessBrowser-local, not in shared time files; protect browser access and exportsService-stored; role-controlled visibilityService-stored; rate visibility controlsService-stored; role-controlled visibilityYour database; check roles and export templatesYour database; access depends on role
Getting your data outCanonical files already in Git; clone, CSV/JSON, print to PDFReport exports and API; plan limits applyReport exports and API; plan limits applyReport exports and APIOwn database, exports (CSV/XLSX/PDF) and APIOwn database, report exports and API
Corrections kept as historyGit commits, not an immutable compliance audit logAudit log: Premium/EnterpriseAudit log: EnterpriseActivity log: EnterprisePaid Audit Trail plugin; included in CloudFull change-audit log not verified in docs
Tracking while on GitHubIn-page issue/PR timer; any URL via popupGitHub browser-extension integrationIn-page GitHub extension timerIn-page issue/PR integrationThird-party GitHub bridge; check compatibilityExtension lists Linear/Jira/Plane; GitHub not listed
InvoicingBuilt in and free; rendered in your browser, never committedPDF invoices even on Free; paid branding optionsStandard and aboveIncluded; plan/usage limits applyCore invoices; advanced e-invoicing pluginPaid Cloud or on-premise Business feature
Mobile appNoneiOS and AndroidiOS and AndroidiOS and AndroidResponsive web; third-party mobile appsWeb app; native mobile app not verified
Browsers and desktopChrome Web Store extension; Firefox and Safari builds in testingWeb, browser extensions and desktop appsWeb; Chrome/Firefox/Edge; desktop appsWeb, browser integrations; Mac/Windows appsModern web browser; third-party desktop clientsWeb; Chrome/Firefox extensions; Mac/Windows/Linux apps

Checked September 10, 2026. Kimai and solidtime columns describe self-hosting unless marked Cloud; Tempo describes Timesheets Cloud. Free core software does not make hosting or paid add-ons free. Sources and details.

Read the long version — what each of these is actually good at, and when you should pick one of them instead.

Two minutes to your first tracked hour.

Same setup whether it is you alone or a company. Nothing to deploy, nothing to host, no workspace to provision, no card.

  1. Sign in with GitHub. Clockoli uses GitHub’s device flow: you approve a one-time code on github.com, so there is no password and no token to paste.
  2. Choose a private repository to keep time in. A fresh empty one is fine.
  3. Open any page and start the timer. Roughly two minutes, start to finish.

Everything that ships today.

Everything in Clockoli Core is free and open source. No seat or usage limits.

  • track/
  • a stopwatch in the GitHub header, a popup everywhere else
  • any https:// address is a task — docs, tickets, dashboards
  • live totals for Today and This week; monthly in Activity and Reports
  • fix a time inline, no dialog to open
  • move one entry and its neighbour follows, in one commit
  • one timer per account, in sync across every browser
  • see/
  • an elastic timeline for dragging a day into shape
  • Timeline, Calendar and List views; calendar by day and week
  • a project per repository, so clients stay apart
  • search by URL or title over any period
  • report/
  • the whole team's hours, read from one shared repo
  • group by day, person, source or task
  • local hourly rates, excluded from shared time files
  • mixed currencies converted at the day's rate
  • export to CSV, JSON or PDF
  • invoice from a filtered report, rendered in the browser

Structured enough to hand to an agent.

Each completed entry is one line of JSON in a monthly file in your repository; the running timer has its own JSON file. Not a blob in someone's database and not a CSV you have to request: a documented schema you can git clone today and query tomorrow. Point a coding agent at the clone and ask it where the quarter went, which tasks ran over, or how many hours to bill this month. It reads the files directly — no API key, no rate limit, no export step.

acme/time-data  times/2026-08/sergey.jsonl — completed entry excerpt
{
  "schema_version": 1,
  "actor": { "id": "github:12345678", "name": "sergey" },
  "work_item": {
    "kind":  "github_issue",
    "url":   "https://github.com/acme/foo/issues/123",
    "title": "Fix replication failure"
  },
  "activity": {
    "state":      "completed",
    "started_at": "2026-08-26T08:15:00.000Z",
    "ended_at":   "2026-08-26T09:42:00.000Z",
    "local_date": "2026-08-26",
    "timezone":   "Europe/Berlin"
  },
  "description": "Investigated replication failure",
  "metadata": { "billable": true }
}
$ git clone git@github.com:acme/time-data.git $ your-agent "which tasks took more than 4 hours in September?"

What you gain, and what you give up.

Clockoli trades SaaS convenience for control. That trade is real and it is not free — here is the whole of it.

@@

choosing Clockoli

+

Your hours live in a repository you already control

+

Readable as plain text, with or without Clockoli installed

+

Every edit and delete stays visible in Git history

+

No server of ours receives your URLs, titles or descriptions

+

Any URL is a task, so work outside the issue tracker counts too

+

Team reports without a second SaaS account or a per-seat bill

+

Your hourly rates stay in your browser, never in the shared repo

−

No mobile app, and no reminders to start the timer

−

Chrome and Chromium only for now — Firefox and Safari builds are still in testing

−

Everyone tracking time needs a GitHub account

−

Chrome installs from the Chrome Web Store and updates automatically

−

Anyone who can read the repo can read your titles and timestamps

−

GitHub outages and API limits are now your outages and limits

What we build next is your call.

These are the things actually on the table. The counts decide the order, and we can tell you when one ships if you want.

#1 Import from Toggl, Harvest or Tempo

Clockify import already ships as an optional add-on. Bring history from the others in, so switching does not start you at zero.

#2 End-to-end encryption of your records

One key per repository, held by you, so not even GitHub can read what you tracked.

#3 An MCP server for your own analytics

Ask an agent where the week went, which tasks stall, and where a team is losing hours.

#4 Time and tokens spent by AI agents

Track what your coding agents burn on a task, next to the hours you spent yourself.

#5 Jira, the way GitHub issues already work

Real issue titles, sprints and status instead of a bare URL.

#6 Linear, the way GitHub issues already work

Issue titles, projects and cycles pulled in automatically.

#7 Asana tasks and projects

So reports group the way your team already talks about the work.

#8 Trello cards and boards

Cards as first-class tasks, with lists carried through into reports.

#9 Zendesk tickets

Time per ticket, requester and queue, for support teams that bill by the hour.

#10 Firefox and Safari store listings

Builds are in testing. Store listings will bring one-click installs and automatic updates.

Want an email when one of these ships? One message, nothing else.

Questions you should ask.

How is this free forever, and what's the catch?

Clockoli is free forever because freedom doesn’t depend on our pricing. The code is open source and your data is already in your repository. Even if we disappear, you can fork Clockoli and keep going.

Isn't depending on GitHub just a different lock-in?

GitHub is still a dependency, but Clockoli doesn’t introduce another SaaS or another place to keep your work data. For many development teams, GitHub is already part of their infrastructure. Clockoli simply uses a repository you control as its storage. And because the records are plain files in Git, you can move them to another Git host or keep using them locally at any time.

Can my employer see the time I track for myself?

Only if you put it in their repository. Each project points at its own repo, so personal work and separate clients live behind separate access lists.

Inside a shared team repo, anyone with read access can see tracked URLs, titles, timestamps and descriptions. Your hourly rates are the exception — they stay in your browser and are never written to the repo.

Does Clockoli see any of my data?

No. The extension calls GitHub’s API directly and there is no Clockoli endpoint to send anything to. Credentials stay in extension storage and are never exposed to the pages you visit.

Who do I talk to?

Bugs and feature requests are best filed as GitHub issues, where everyone can see them. For anything else — a question, a team licence conversation you think we should have, or a security report — email contact@clockoli.com.

How ready is this, honestly?

It is an open beta. We use Clockoli ourselves while developing Manticore Search — the best search engine in the world, in our opinion 🔍. Everything described on this page works today. Chrome installs from the Chrome Web Store and updates automatically; Firefox and Safari builds are still in testing.

Start tracking in about two minutes.

Free, open source, and yours from the first commit.