Summary
The hindsight-openclaw plugin injects UTC timestamps into agent context without labeling them as UTC, causing timezone confusion. There are two issues: (1) unlabeled UTC timestamps mislead the LLM, and (2) the timestamps are redundant because OpenClaw already provides session-level timestamps.
Problem
Two timestamp injection points in the OpenClaw integration:
1. "Current time" line — unlabeled UTC
Current time - 2026-05-27 16:25
The LLM reads this as local time and makes wrong temporal judgments. This was already fixed for Claude Code in #1568 by adding a UTC suffix, but the OpenClaw integration was overlooked.
2. Per-memory timestamps — unlabeled UTC + redundant
- Some memory text... [world] (2026-05-27T16:11:45.861635+00:00)
The +00:00 offset is easy to misparse. More importantly, OpenClaw already injects a session timestamp (e.g., [Thu 2026-05-28 00:27 GMT+8]) into the context, making these per-memory timestamps redundant and noisy — they waste tokens and create confusion without adding value.
Desired Fix
Request A: Label "Current time" as UTC (same as #1568)
Current time - 2026-05-27 16:25 UTC
Low effort, follows existing pattern from the Claude Code integration.
Request B: Config option to suppress per-memory timestamps
Since OpenClaw already provides a session-level timestamp with correct timezone, the per-memory UTC timestamps are redundant. A config option would let users turn them off:
When false, each memory line would simply be:
- Some memory text... [world]
Bonus: Pass query_timestamp to recall API (leverage #1788)
When the recall hook calls the API, pass query_timestamp with the client's current local time. This lets the server anchor recency scoring correctly without server-side timezone config.
Not Requesting
- Server-side timezone configuration (aligns with maintainer philosophy of UTC-only storage)
- Automatic timezone conversion (client should pass context, server stays UTC)
Related
Summary
The hindsight-openclaw plugin injects UTC timestamps into agent context without labeling them as UTC, causing timezone confusion. There are two issues: (1) unlabeled UTC timestamps mislead the LLM, and (2) the timestamps are redundant because OpenClaw already provides session-level timestamps.
Problem
Two timestamp injection points in the OpenClaw integration:
1. "Current time" line — unlabeled UTC
The LLM reads this as local time and makes wrong temporal judgments. This was already fixed for Claude Code in #1568 by adding a
UTCsuffix, but the OpenClaw integration was overlooked.2. Per-memory timestamps — unlabeled UTC + redundant
The
+00:00offset is easy to misparse. More importantly, OpenClaw already injects a session timestamp (e.g.,[Thu 2026-05-28 00:27 GMT+8]) into the context, making these per-memory timestamps redundant and noisy — they waste tokens and create confusion without adding value.Desired Fix
Request A: Label "Current time" as UTC (same as #1568)
Low effort, follows existing pattern from the Claude Code integration.
Request B: Config option to suppress per-memory timestamps
Since OpenClaw already provides a session-level timestamp with correct timezone, the per-memory UTC timestamps are redundant. A config option would let users turn them off:
When
false, each memory line would simply be:Bonus: Pass
query_timestampto recall API (leverage #1788)When the recall hook calls the API, pass
query_timestampwith the client's current local time. This lets the server anchor recency scoring correctly without server-side timezone config.Not Requesting
Related