Give LLM agents (Claude in this case, but may be adaptable to others) an awareness of time in an unobtrusive way. A developer created a time-awareness hook for LLM agents like Claude Code that injects timestamps at a human-like cadence, keeping the agent oriented in time without filling the context window with noise. The hook is rate-limited to emit a full timestamp once per hour and a short timestamp when more than five minutes have passed, using a pure function with no I/O for testability. It works with Claude Code 2.1.177 and can be wired into UserPromptSubmit and PostToolUse events via a single script. A self-contained recipe. Read this one file and you can reproduce the whole mechanism from scratch — a human or another LLM, knowing nothing else. An LLM agent has no clock . It only knows what is in its context window. So: - Inject a timestamp on every action → the context fills with noise. - Inject one once at session start → it goes stale within minutes. The goal is to inject timestamps at a human-like cadence : frequent enough that the agent stays oriented in time and notices the passage of time — e.g. "that build took 40 minutes" , but sparse enough to be almost invisible. Claude Code hooks are external commands the harness runs on certain events. A hook can print a line of JSON of this shape: {"hookSpecificOutput":{"hookEventName":"