Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>ShellTimeNew to Visual Studio Code? Get it now.
ShellTime

ShellTime

AnnatarHe

|
4 installs
| (0) | Free
Track your coding time and productivity across projects with ShellTime. Automatic language detection, project analytics, and detailed activity insights.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ShellTime CI codecov

Track your coding time and productivity across projects with ShellTime. Automatic language detection, project analytics, and detailed activity insights.

Features

  • Automatic Time Tracking - Tracks your coding activity in the background without interrupting your workflow
  • Language Detection - Automatically detects and categorizes time by programming language
  • Project Analytics - View time spent per project and workspace
  • Git Integration - Tracks activity by git branch
  • Debug Session Awareness - Distinguishes between coding and debugging time

Prerequisites

1. Install ShellTime CLI

curl -sSL https://shelltime.xyz/i | bash

After installation, reload your shell configuration:

  • zsh: source ~/.zshrc
  • fish: source ~/.config/fish/config.fish
  • bash: source ~/.bashrc

2. Initialize and Authenticate

shelltime init

This will:

  • Open your browser to authenticate with your ShellTime account
  • Install shell hooks for your shell (zsh/fish/bash)
  • Start the ShellTime daemon

3. Enable Code Tracking

Add the following to your ShellTime config (~/.shelltime/config.yaml):

codeTracking:
  enabled: true

Or in TOML format (~/.shelltime/config.toml):

[codeTracking]
enabled = true

Extension Settings

This extension contributes the following settings:

  • shelltime.enabled: Enable/disable ShellTime tracking (default: true)
  • shelltime.socketPath: Path to the ShellTime daemon socket (default: /tmp/shelltime.sock)
  • shelltime.heartbeatInterval: Interval in milliseconds between heartbeat flushes (default: 120000)
  • shelltime.debug: Enable debug logging in the console (default: false)

Commands

  • ShellTime: Show Status - Display daemon connection status and version info
  • ShellTime: Flush Heartbeats - Manually flush pending heartbeats to the daemon

How It Works

The extension monitors your VS Code activity and sends heartbeats to a local daemon:

  1. Event Monitoring - Tracks file opens, edits, saves, and cursor movements
  2. Debouncing - Batches events to reduce overhead (max 1 heartbeat per file per 30 seconds)
  3. Periodic Flush - Sends collected heartbeats to the daemon every 2 minutes
  4. Offline Support - Queues heartbeats when daemon is unavailable

Status Bar

The extension shows its status in the VS Code status bar:

  • $(pulse) ShellTime - Connected and tracking
  • $(debug-disconnect) ShellTime - Daemon not running (heartbeats queued)

Click the status bar item to view daemon status.

Privacy

The extension communicates only with the local ShellTime daemon via Unix socket. The daemon syncs your coding activity to the ShellTime server for analytics and cross-device access.

License

See LICENSE for details.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft