Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Git TimekeeperNew to Visual Studio Code? Get it now.
Git Timekeeper

Git Timekeeper

Nikolas Psyllou

|
1 install
| (0) | Free
Automatically track coding time by Git repository and branch, with local reports and Markdown exports.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Git Timekeeper

See where your coding time goes, one branch at a time.

Git Timekeeper automatically tracks active coding time in VS Code and organizes it by Git repository and branch. Check today's progress, explore your daily history, and export clear Markdown reports without keeping a manual timer.

Your activity stays on your machine. No account, telemetry, or cloud sync.

Get started

  1. Install Git Timekeeper from the VS Code Extensions view (Ctrl+Shift+X on Windows/Linux or Cmd+Shift+X on macOS).
  2. Open a project and start editing or saving files. Tracking begins after content activity, rather than simply opening VS Code.
  3. Select Git Timekeeper in the Activity Bar to see your tracked time and branches.
  4. Open the Command Palette and run Git Timekeeper: Show Main Overview to explore your daily history.

Requires VS Code 1.90 or newer. Install Git and make it available on your PATH to associate sessions with repositories and branches. Non-Git folders are also supported.

From coding sessions to useful reports

  • Automatic tracking: records editor activity and associates sessions with the current repository and branch, including detached HEAD.
  • Idle-time limits: caps inactive sessions at your configured timeout (five minutes by default). Pause or resume tracking from the status bar.
  • Time at a glance: see today's time, weekly totals, and branch groups in the sidebar.
  • Daily and branch reports: explore active-time charts, session history, touched files, and Git commits. Expand file and commit lists when you need detail.
  • Markdown exports: export today, this week, or this month for your work log or progress updates. Reports open as documents you can review and save.
  • Optional commit tags: add a tag such as #time 1h 1m 5s to VS Code's Git commit message input.

Everyday commands

Open the Command Palette (Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on macOS) and type Git Timekeeper.

What you want to do Command
Review today's sessions Git Timekeeper: Show Today Overview
Explore daily history Git Timekeeper: Show Main Overview
Inspect a branch Git Timekeeper: Show Branch Report
Pause or resume Git Timekeeper: Toggle Tracking
Export a report Git Timekeeper: Export Today Report, Export Weekly Report, or Export Monthly Report
Add time to a commit message Git Timekeeper: Insert Time Tag Into Commit Message

Make it fit your workflow

Search for Git Timekeeper in VS Code Settings to adjust the idle timeout, exclude folders, or configure commit tags.

{
  "gitTimekeeper.trackingEnabled": true,
  "gitTimekeeper.idleTimeoutSeconds": 300,
  "gitTimekeeper.commitMessageTime.enabled": false,
  "gitTimekeeper.commitMessageTime.format": "#time {duration}"
}

Common generated folders such as node_modules, .git, vendor, dist, build, and coverage are excluded by default. Customize the list with gitTimekeeper.excludedFolders.

Automatic commit tags are off by default. Enable them with Git Timekeeper: Toggle Commit Time Tag or in Settings. The format supports {duration}, {seconds}, and {branch}. Tags reflect the branch's total tracked time across stored sessions, rather than time since the previous commit.

Your data stays local

Git Timekeeper makes no network requests and sends no telemetry. Sessions are stored in sessions.json in VS Code's extension global storage directory.

Stored records include repository and workspace paths, branch names, session times, touched file paths, and activity counts. File contents and keystrokes are not stored. Commit information is read from local Git for reports.

Exported reports can include project paths and commit information, so review them before sharing. Use Pause Tracking whenever you want to stop recording. Git Timekeeper: Reset Today Data removes today's sessions after confirmation.

A few things to know

  • Time is estimated from editor activity and idle limits; it is not a certified timesheet or a measurement of operating-system input.
  • In multi-root workspaces, tracking follows the active editor's workspace folder.
  • Reports use local dates. Sessions that span midnight are not split into separate daily records.
  • Remote and web extension hosts have not been verified.

License

MIT · Nikolas Psyllou

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft