# NousResearch/hermes-agent · Agent time awareness via timestamp injection

## Open now

- 10 issues, 5 PRs open on GitHub.
- #10421: \[Feature\] Turn-level live time context for current date/time awareness
- #21784: \[Bug\]: Why does the hermes-agent always get the time wrong?
- #27742: \[Bug\] Agent lacks internal clock — no autonomous time awareness
- #27847: \[feature\] 系统级时间戳注入，避免 Agent 估算偏差
- #49198: Inject current wall-clock time into each turn to avoid repeated tool calls
- #49407: Feature Request: Automatic Timestamp Injection in Message Context
- #54686: Feature Request: Inject current_time into system prompt at every session turn
- #58813: Bug: Cross-day session date not updated in system prompt
- #60765: Model has no awareness of current time: system prompt uses date-only timestamp with no harness-level time-sync mechanism
- #62904: LLM agent has no internal clock — requested infrastructure fix
- PR #32942: fix(agent): inject turn-level current time context
- PR #40252: feat(prompt): inject current wall-clock time via ephemeral_system_prompt
- PR #41425: feat(agent): add timestamp context for replayed messages
- PR #77101: feat(agent): inject per-turn current time via ephemeral system tail (post-#102117 refit)
- PR #85158: feat(plugins): add live-time plugin for turn-level time awareness

These issues and PRs collectively address the lack of current time awareness in LLM agents, proposing and implementing various mechanisms to inject live wall-clock timestamps into system prompts or per-turn message context. Both bugs reporting incorrect time behavior and feature requests for configurable timestamp injection are represented.

## TL;DR

- 22 member(s): 10 open issue(s), 4 closed issue(s), 5 open PR(s), 0 merged PR(s), 3 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.09`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #10421: \[Feature\] Turn-level live time context for current date/time awareness
- #21784: \[Bug\]: Why does the hermes-agent always get the time wrong?
- #27742: \[Bug\] Agent lacks internal clock — no autonomous time awareness
- #27847: \[feature\] 系统级时间戳注入，避免 Agent 估算偏差
- #49198: Inject current wall-clock time into each turn to avoid repeated tool calls
- #49407: Feature Request: Automatic Timestamp Injection in Message Context
- #54686: Feature Request: Inject current_time into system prompt at every session turn
- #58813: Bug: Cross-day session date not updated in system prompt
- #60765: Model has no awareness of current time: system prompt uses date-only timestamp with no harness-level time-sync mechanism
- #62904: LLM agent has no internal clock — requested infrastructure fix

## Closed / duplicate issues

- #693: Feature: Time-of-Day Context Injection — Ambient Temporal Awareness in System Prompt
- #9628: \[Feature\]: configurable message timestamp prefix to prevent temporal drift in long-lived sessions
- #53061: Static 'Conversation started' timestamp in system prompt becomes stale; agent gives wrong relative-time answers
- #62369: Feature: Inject message timestamps into agent context for time awareness

## Prior & competing PRs

- **#9784: feat(gateway): add optional inbound message timestamp prefix**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `bd7fc8fdcd67ff892cc5bdbfd76747adc6abe1b1`, `36ae958473b8530ffb1a395c4944b8cdbcae82fe`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#17531: docs: document tool-time advisory-not-enforcement principle**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#17475`
- **#26514: feat(gateway): optional per-message ISO-8601 timestamp prefix**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `bd7fc8fdcd67ff892cc5bdbfd76747adc6abe1b1`, `36ae958473b8530ffb1a395c4944b8cdbcae82fe`
- **#32942: fix(agent): inject turn-level current time context**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#10448`, `#10421`, `#15872`, `#18135`, `#29798`, `#17476`, `#10448`
  - files: `agent/chat_completion_helpers.py`, `agent/conversation_loop.py`, `hermes_time.py`, `tests/run_agent/test_run_agent.py`, `tests/run_agent/test_run_agent_codex_responses.py`, `tests/test_timezone.py`
- **#40252: feat(prompt): inject current wall-clock time via ephemeral_system_prompt**. open
  - maintainer direction: category `volume_quota`; implication `active`; refs `38c289c014`
  - files: `agent/chat_completion_helpers.py`, `agent/conversation_loop.py`, `agent/turn_context.py`, `tests/agent/test_413_compression.py`, `tests/agent/test_run_agent.py`, `tests/agent/test_temporal_stamp_injection.py`
- **#41425: feat(agent): add timestamp context for replayed messages**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#62508`
  - files: `agent/message_timestamps.py`, `agent/turn_context.py`, `gateway/message_timestamps.py`, `gateway/run.py`, `hermes_cli/config_defaults.py`, `tests/agent/test_message_timestamps.py`, `tests/agent/test_turn_context.py`, `tests/gateway/test_message_timestamps.py`, `tests/run_agent/test_run_agent.py`, `website/docs/user-guide/messaging/index.md`
- **#77101: feat(agent): inject per-turn current time via ephemeral system tail (post-#102117 refit)**. open
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `b6b53c69a6`, `#102117`, `#40252`, `#40252`, `#40252`
  - files: `agent/chat_completion_helpers.py`, `agent/conversation_loop.py`, `agent/temporal_guard.py`, `agent/turn_context.py`, `agent/turn_finalizer.py`, `tests/agent/test_413_compression.py`, `tests/agent/test_run_agent.py`, `tests/agent/test_temporal_guard.py`, `tests/agent/test_timestamp_injection.py`
- **#85158: feat(plugins): add live-time plugin for turn-level time awareness**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `d3592ef503`
  - files: `plugins/live_time/README.md`, `plugins/live_time/__init__.py`, `plugins/live_time/plugin.yaml`, `tests/plugins/live_time/test_live_time.py`

## Fix status

- No merged fix on record.
- Subsystem: `agent`
