Claude Code Session Timer Hook — Productivity skill for Claude Code
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
Related Skills
Background Timer
Background timer with task notifications -- set delayed checks without blocking conversation
Resume Fantasy
Resume Alex's "It's Business Time" Fantasy War Room context at the start of a new session — reloads memory, ch
Time Anchor
Claude Code hook that injects local system clock into every session/prompt. Stops 'as of training cutoff' answ
Aegis Live Tail
Always-on terminal pane that displays the live conversation/activity stream from the active Claude Code sessio
Claude Code Task Shepherd Skill
Claude Code skill that runs a long, multi-segment task to completion by keeping real state in a plan file inst
Agent Taskclose
End the conversation after this message. Ultrathink and use your remaining output to perform comprehensive tas
Related Agents
Continuous Learner
Use at session end (auto-triggered by SessionEnd hook) or via /learn command. Extracts repeatable patterns, de
Console Monitoring Session
URL: [monitored URL] Start: [timestamp] End: [timestamp] Duration: [time]
Retro Reviewer
Reviews one prior session through ax's normalized cross-harness Turn view and emits a structured retro (tried