openclaw - 💡(How to fix) Fix Misleading prompt section can cause incorrect date reasoning even when timezone-only behavior is intended [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#63181Fetched 2026-04-09 07:57:23
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Participants

OpenClaw’s current docs say the system prompt now includes only the user timezone, not the live date/time, in order to preserve prompt cache stability. However, the prompt section is still labeled Current Date & Time.

That label is misleading and appears to increase the chance of temporal reasoning errors by the model.

In my case, the agent described an April 8 milestone as “due yesterday” on April 8 itself.

This seems related to, but distinct from, #38782:

  • #38782 focuses on wrong time-of-day in /new and /reset startup greetings
  • this issue is about incorrect date reasoning in normal task responses due to misleading prompt structure

It may also be relevant to #63071, which suggests there has been recent churn or inconsistency around timestamp injection and prompt caching.

Root Cause

OpenClaw’s current docs say the system prompt now includes only the user timezone, not the live date/time, in order to preserve prompt cache stability. However, the prompt section is still labeled Current Date & Time.

That label is misleading and appears to increase the chance of temporal reasoning errors by the model.

In my case, the agent described an April 8 milestone as “due yesterday” on April 8 itself.

This seems related to, but distinct from, #38782:

  • #38782 focuses on wrong time-of-day in /new and /reset startup greetings
  • this issue is about incorrect date reasoning in normal task responses due to misleading prompt structure

It may also be relevant to #63071, which suggests there has been recent churn or inconsistency around timestamp injection and prompt caching.

Code Example

## Current Date & Time
Time zone: Europe/Vienna

---

{
  agents: {
    defaults: {
      userTimezone: "Europe/Vienna"
    }
  }
}

---

What is the status of the SES project?

---

- Deploy PRGen to server by April 8
- Send access credentials to Claudia by April 8

---

## Current Date & Time

---

## Time Zone

---

## Current Date & Time
Current date: 2026-04-08
Time zone: Europe/Vienna

---

## Time Zone
Time zone: Europe/Vienna
Use session_status for the current date/time.
RAW_BUFFERClick to expand / collapse

Title: Misleading Current Date & Time prompt section can cause incorrect date reasoning even when timezone-only behavior is intended

Summary

OpenClaw’s current docs say the system prompt now includes only the user timezone, not the live date/time, in order to preserve prompt cache stability. However, the prompt section is still labeled Current Date & Time.

That label is misleading and appears to increase the chance of temporal reasoning errors by the model.

In my case, the agent described an April 8 milestone as “due yesterday” on April 8 itself.

This seems related to, but distinct from, #38782:

  • #38782 focuses on wrong time-of-day in /new and /reset startup greetings
  • this issue is about incorrect date reasoning in normal task responses due to misleading prompt structure

It may also be relevant to #63071, which suggests there has been recent churn or inconsistency around timestamp injection and prompt caching.

Expected behavior

One of the following should be true:

  1. If the section is titled Current Date & Time, it should actually include current date/time
  2. If only timezone is injected, the section should be renamed to something like Time Zone
  3. If timezone-only behavior is retained, the prompt should explicitly state that current date/time is not included and must be fetched via session_status

Actual behavior

The effective prompt shape is:

## Current Date & Time
Time zone: Europe/Vienna

According to docs, this is intentional for cache stability, but the heading still implies the presence of current date/time.

In a real session:

  • inbound message envelope included: Wed 2026-04-08 14:52 GMT+2
  • prompt also included a section titled Current Date & Time
  • that section contained only timezone
  • the agent then incorrectly stated that an April 8 milestone was “due yesterday”

Why this is a bug

This creates a misleading affordance in the prompt:

  • the heading says “Current Date & Time”
  • the content contains neither current date nor current time
  • the docs say the agent should use session_status when it actually needs current time

That mismatch makes temporal grounding unnecessarily fragile.

This is not only a model mistake. The model still had access to the message envelope and should have reasoned correctly. But the prompt structure appears to make this class of mistake more likely.

Related issues

  • #38782, /new and /reset startup greeting uses wrong time-of-day

    • likely same family of temporal-grounding problems
    • this issue is narrower and focused on misleading prompt labeling plus wrong date inference in regular responses
  • #63071, system prompt timestamp injection breaks Anthropic prompt cache

    • may indicate implementation drift or recent changes in how timestamps are injected
    • worth checking whether different runtimes/providers are seeing different prompt shapes
  • #55935, heartbeat uses non-ISO current-time formatting

    • adjacent prompt-time-context issue, though in heartbeat flow rather than general prompt construction

Relevant docs

From docs/concepts/system-prompt.md:

“To keep the prompt cache-stable, it now only includes the time zone (no dynamic clock or time format). Use session_status when the agent needs the current time.”

From docs/date-time.md:

“If the user timezone is known, the system prompt includes a dedicated Current Date & Time section with the time zone only.”

Steps to reproduce

  1. Configure OpenClaw with a user timezone, for example:
{
  agents: {
    defaults: {
      userTimezone: "Europe/Vienna"
    }
  }
}
  1. Start a normal direct chat session where the inbound message envelope includes a timestamp.

  2. Ask a question that requires reasoning about whether a milestone is due today versus yesterday.

Example prompt:

What is the status of the SES project?
  1. Ensure the underlying project/status file contains a milestone explicitly dated April 8, for example:
- Deploy PRGen to server by April 8
- Send access credentials to Claudia by April 8
  1. Observe the injected prompt context for that run:

    • the inbound message envelope includes the current date, e.g. Wed 2026-04-08 ...
    • the system prompt includes a section titled Current Date & Time
    • that section contains only Time zone: Europe/Vienna
  2. Observe the model output. In the failing case, it may describe the April 8 milestone as already overdue by a day, for example:

    • “deployment/test milestone due yesterday, April 8”

Minimal reproduction condition

The bug seems to require this combination:

  • a message envelope with a real current date
  • a prompt section titled Current Date & Time
  • no actual current date/time in that section, only timezone
  • a user question requiring relative date reasoning (today, yesterday, due now, etc.)

Suggested fixes

Option A, preferred

Rename the section from:

## Current Date & Time

to:

## Time Zone

Option B

Keep the title, but inject an explicit current date line below the cache boundary, for example:

## Current Date & Time
Current date: 2026-04-08
Time zone: Europe/Vienna

Option C

Keep timezone-only behavior, but make the limitation explicit:

## Time Zone
Time zone: Europe/Vienna
Use session_status for the current date/time.

Additional note

Given #38782, this may be better treated as part of a broader “temporal grounding / prompt date context” bug cluster rather than as an isolated one-off.

extent analysis

TL;DR

Renaming the Current Date & Time section to Time Zone or making the limitation explicit can resolve the misleading prompt issue.

Guidance

  • Verify that the issue is caused by the misleading prompt section title by checking if the model's date reasoning improves when the title is changed or the limitation is made explicit.
  • Consider implementing one of the suggested fixes: renaming the section, injecting an explicit current date line, or making the limitation explicit.
  • Test the changes with different user timezones and scenarios to ensure the fix is robust.
  • Review related issues (#38782, #63071, #55935) to identify potential broader "temporal grounding / prompt date context" bugs.

Example

Renaming the section from ## Current Date & Time to ## Time Zone can be done by updating the prompt template:

## Time Zone
Time zone: Europe/Vienna

Alternatively, injecting an explicit current date line can be done by adding a new line below the cache boundary:

## Current Date & Time
Current date: 2026-04-08
Time zone: Europe/Vienna

Notes

The fix may need to be adapted based on the specific requirements of the OpenClaw system and the user's timezone. Additionally, the issue may be part of a broader bug cluster related to temporal grounding and prompt date context.

Recommendation

Apply workaround by renaming the Current Date & Time section to Time Zone or making the limitation explicit, as this is a more targeted and less invasive fix compared to injecting an explicit current date line.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

One of the following should be true:

  1. If the section is titled Current Date & Time, it should actually include current date/time
  2. If only timezone is injected, the section should be renamed to something like Time Zone
  3. If timezone-only behavior is retained, the prompt should explicitly state that current date/time is not included and must be fetched via session_status

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING