Skip to main content
plugin

idle-timing — Claude Code plugin: what it does, how to install

Injects invisible timing metadata into Claude Code prompts and adds an elapsed idle timer to your terminal statusline.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin marketplace add anthropics/claude-plugins-community
/plugin install idle-timing@claude-community
Open on GitHub

What idle-timing does

The plugin hooks into session events to give the assistant temporal context. Each user submission receives a hidden [timing] block recording the local timestamp, idle seconds since the last assistant turn, and prior turn runtime. A brief terminal notice shows up whenever your gap between replies passes 10 seconds.

All per-session timing state and NDJSON logs live inside the directory set by CLAUDE_PLUGIN_DATA. During conversation compaction, the PreCompact hook resets the timer so it counts from the compaction event. You can check diagnostics via /idle-time-status or reconfigure statusline integration with /idle-time-setup.

Two statusline helper scripts come in the box. The POSIX shell version updates in under 10 ms per tick by parsing the cached session file without launching a Node runtime. Without a valid session_id piped via standard input, the statusline fragment produces no text.

What it helps with

  • supply local time and turn durations directly into assistant prompts
  • display idle pauses between turns in the statusline
  • reset session timers accurately when context compaction triggers
  • log hook execution errors to NDJSON session files

Example prompts for the agent

  • /idle-time-setup
  • /idle-time-status
  • /idle-time-reset

How to install idle-timing

Plugin marketplace

/plugin marketplace add anthropics/claude-plugins-community
/plugin install idle-timing@claude-community

Step by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own

Questions about idle-timing

How do I install idle-timing in Claude Code?

Run /plugin marketplace add anthropics/claude-plugins-community in your session, then install the package with /plugin install idle-timing@claude-community.

What does idle-timing do?

It attaches hidden timestamps and pause durations to prompts so the model knows how long you waited. It also prints terminal hints for gaps longer than 10 seconds.

What is the difference between the two statusline fragments?

The shell script scripts/statusline-fragment.sh runs in under 10 ms without Node overhead. The Node version scripts/statusline-fragment.js tracks model changes with a --- flag but costs roughly 100 ms per cycle.

Similar plugins

All plugins for Agent setup: memory, context, orchestration →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor