jeecgboot

Claude Code Session Timer Hook — Productivity skill for Claude Code

Productivity community

A Claude Code hook that auto-reports per-turn and cumulative elapsed time at the end of every conversation turn.

How to install Claude Code Session Timer Hook

This entry records only its repository, not the path inside it, so there is no exact command to give. Open jeecgboot/claude-code-session-timer-hook and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude Code Session Timer Hook does

A Claude Code hook that auto-reports per-turn and cumulative elapsed time at the end of every conversation turn.

Alternatives in Productivity

  • Ccplugins — Claude Code Plugins that actually save time 2.7k ★
  • /strategy — Run an end-to-end strategy workflow with decision-quality outputs 2.3k ★
  • Close The Quarter — Workflow recipe — turn the quarter's raw numbers into a leadership story and board deck by chaining 4 skills 1.3k ★

README

Session Timer

**English** · [简体中文](./README.zh-CN.md)

A stopwatch for Claude Code — per-turn + cumulative elapsed time, auto-reported

At the end of every Claude turn you'll see the time spent on this round **and** the running total:

⏱ Turn 4.72s · Total 1m18s

Project:

Global Install (paste this paragraph into Claude Code)

Installs into `~/.claude/` so the timer is enabled **globally for every project** — no per-project setup.

**Copy the block below verbatim** and send it to Claude Code — it will download the script and merge the config for you:

Please install session_timer from https://github.com/jeecgboot/claude-code-session-timer-hook **globally** (under ~/.claude/, NOT into the current project's .claude/). Steps:

1. Download session_timer.py to ~/.claude/hooks/ (create the directory if it doesn't exist). URL:
   https://raw.githubusercontent.com/jeecgboot/claude-code-session-timer-hook/main/session_timer.py
2. Merge the following 4 hooks into the `hooks` field of the **global** ~/.claude/settings.json (keep my existing config — do not overwrite):
   - SessionStart     → python "$HOME/.claude/hooks/session_timer.py" session_start 2>/dev/null || true
   - UserPromptSubmit → python "$HOME/.claude/hooks/session_timer.py" start         2>/dev/null || true
   - Stop             → python "$HOME/.claude/hooks/session_timer.py" stop          2>/dev/null || true
   - SessionEnd       → python "$HOME/.claude/hooks/session_timer.py" end           2>/dev/null || true
   Each hook's type is "command".
3. Validate that settings.json is valid JSON, then tell me to run /hooks to activate.

Once installed, run `/hooks` to reload the config — the stopwatch will show up on the next turn.

Requirement: Python 3 on PATH (the `python` command must work). macOS / Linux / Windows (git bash) all supported.

Usage

  • Automatic display — nothing else to do; each Claude reply ends with the