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.
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.
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.
One click in the GitHub header, or the toolbar popup anywhere else. The page URL becomes the task; a title is optional.
Edit start and stop inline as HH:MM – HH:MM. Move an entry into its neighbour and the neighbour follows, saved in one commit.
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.
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.
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.
Everything a tracker normally charges for, and a few things they cannot offer at all.
Hours land in a private GitHub repo you already control. Access, retention and backup follow your rules, not a vendor’s.
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.
Issues, pull requests, docs, tickets, dashboards, design files. If it has an address, you can bill time to it.
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.
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.
Point it at a repository and start. No workspace to provision, no seats to buy, no server to run.
Each client gets its own repository and its own timeline. Personal work stays in a repo of your own.
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.
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.
| Where your hours live | Plain JSONL files in your GitHub repo | Vendor-hosted service | Vendor-hosted service | Vendor-hosted service | Your database; managed Cloud also available | Your database; managed Cloud also available |
|---|---|---|---|---|---|---|
| Writing to several places at once | One install, a repository per client, each one owned by that client | Several workspaces, one account; all of it in Toggl | Several workspaces, one account; all of it in Clockify | A separate Harvest account per company | Customers and projects inside the one instance you host | Organizations and projects inside the one instance you host |
| Own your data without running a server | GitHub is the backend; no separate tracker server or database | No customer-controlled backend in SaaS | No customer-controlled backend in SaaS | No customer-controlled backend in SaaS | Run the Kimai application and database | Run the solidtime backend and database |
| Source code | Open source (GPL-3.0 or later) | Proprietary service | Proprietary service | Proprietary service | Open source core (AGPL-3.0) | Open source core (AGPL-3.0) |
| Free plans and team costs | Core is free; no seat or usage limits. GitHub limits apply | Limited free plan; paid team features | Free: up to 5 people; paid upgrades | Free: 1 seat, 2 projects; paid teams | Free core; hosting and optional plugins extra | Free self-hosted core; Cloud solo free, teams paid |
| Reporting | Cross-repo team reports; browser-local billable rates | Basic reports free; advanced/team features paid | Reports included free; advanced features paid | Time reports; advanced reporting by plan | Team, project and customer reports | Reports; Cloud sharing/PDF and team controls paid |
| Who can read task titles | Anyone with repo read access; hosted by GitHub | Workspace access and roles | Workspace access and roles | Account roles and project access | Your server admins; team/role permissions | Your server admins; organization/project roles |
| Hourly rates and teammate access | Browser-local, not in shared time files; protect browser access and exports | Service-stored; role-controlled visibility | Service-stored; rate visibility controls | Service-stored; role-controlled visibility | Your database; check roles and export templates | Your database; access depends on role |
| Getting your data out | Canonical files already in Git; clone, CSV/JSON, print to PDF | Report exports and API; plan limits apply | Report exports and API; plan limits apply | Report exports and API | Own database, exports (CSV/XLSX/PDF) and API | Own database, report exports and API |
| Corrections kept as history | Git commits, not an immutable compliance audit log | Audit log: Premium/Enterprise | Audit log: Enterprise | Activity log: Enterprise | Paid Audit Trail plugin; included in Cloud | Full change-audit log not verified in docs |
| Tracking while on GitHub | In-page issue/PR timer; any URL via popup | GitHub browser-extension integration | In-page GitHub extension timer | In-page issue/PR integration | Third-party GitHub bridge; check compatibility | Extension lists Linear/Jira/Plane; GitHub not listed |
| Invoicing | Built in and free; rendered in your browser, never committed | PDF invoices even on Free; paid branding options | Standard and above | Included; plan/usage limits apply | Core invoices; advanced e-invoicing plugin | Paid Cloud or on-premise Business feature |
| Mobile app | None | iOS and Android | iOS and Android | iOS and Android | Responsive web; third-party mobile apps | Web app; native mobile app not verified |
| Browsers and desktop | Chrome Web Store extension; Firefox and Safari builds in testing | Web, browser extensions and desktop apps | Web; Chrome/Firefox/Edge; desktop apps | Web, browser integrations; Mac/Windows apps | Modern web browser; third-party desktop clients | Web; 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.
Same setup whether it is you alone or a company. Nothing to deploy, nothing to host, no workspace to provision, no card.
Everything in Clockoli Core is free and open source. No seat or usage limits.
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.
{
"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?"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
These are the things actually on the table. The counts decide the order, and we can tell you when one ships if you want.
Clockify import already ships as an optional add-on. Bring history from the others in, so switching does not start you at zero.
One key per repository, held by you, so not even GitHub can read what you tracked.
Ask an agent where the week went, which tasks stall, and where a team is losing hours.
Track what your coding agents burn on a task, next to the hours you spent yourself.
Real issue titles, sprints and status instead of a bare URL.
Issue titles, projects and cycles pulled in automatically.
So reports group the way your team already talks about the work.
Cards as first-class tasks, with lists carried through into reports.
Time per ticket, requester and queue, for support teams that bill by the hour.
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.
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.
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.
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.
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.
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.
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.
Free, open source, and yours from the first commit.