Bug: gpt-realtime usually miscomputes “next weekday” by +1 day (appears to use 2025 calendar)

We’re repeatedly observing incorrect date resolution with gpt-realtime when the user provides a weekday (e.g., “Tuesday”). The model usually resolves the date one day late.

Example from today (Saturday, 14th Feb; call_id: call_xet5Qv9i0abY6sjn):

Me : “Hey, I would like to do a reservation, please.”

AI: “Sure! For what date would you like to make the reservation?”

Me: “Tuesday.”

...

And model got:

"arguments" => "{ \n \"date\": \"2026-02-18\", ...}

Incorrect, since Tuesday is 2026-02-17.

We even added explicit context and examples in our prompt to guide relative-date calculation. It’s dynamic, but see below how it reads today:

# Context

- Current date (today): 2026-02-14 (Saturday) - when gathering desired date, take this as reference for any relative date and next-occurrence weekday the user mentions (e.g. “tomorrow” is 1 day from now, so it means ‘2026-02-15’; “Tuesday“ is 3 days from now, so it means ‘2026-02-17’).

But it still fails (even when the weekday mentioned is the example itself!)

We’ve encountered this multiple times (e.g., “Friday 14th” when Friday should have been the 13th in the given context, etc.). So this seems like a systematic weekday/date mapping error rather than a one-off hallucination.

Interestingly, the resolved MM-DD always matches the 2025 weekday.

To further experiment, we asked “which date is next Tuesday?” to a raw gpt-realtime model in the Playground (default system message only: “You are a helpful assistant”), and it also returned an incorrect date. See screenshot (this is from today, Saturday 14th Feb as well):

This is critical for booking/scheduling use cases because it makes the assistant unreliable.

@OpenAI_Support @Sean-Der , is this a known issue in gpt-realtime? Is there any recommended mitigation?

Thank you in advance :folded_hands:

You were trained up to a knowledge cutoff of 2026-02. What day of the week is 2027-08-31?

This could help, and could help your AI when this critical for booking and scheduling:

Something I recently learned is that markdown tables don’t need outer pipes, and that since numbers are unjoinable tokens, you can save more input by removing all the whitespace padding around number columns (while keeping it for words, which benefit from a leading space.)

@_j very much appreciated :folded_hands: we added the markdown calendar in the instructions as per your suggestion, and it’s getting relative dates properly now. Thank you!

Update: Although the markdown calendars have dramatically reduced the issue, they still haven’t fully resolved it. Yesterday, a caller asked to book for the 9th of May, and gpt-realtime-1.5 replied: “Ok, on Friday, 9th May.”
Even after the caller corrected the AI and pointed out that the 9th of May would actually be a Saturday, the model continued to insist that the 9th was a Friday.

This happened even though the following May 2026 markdown calendar was included in the session instructions:

Next month (May 2026):
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
x x x x x 1 (closed) 2
3 4 5 (closed) 6 (closed) 7 (closed) 8 (closed) 9
10 11 12 (closed) 13 (closed) 14 (closed) 15 (closed) 16
17 18 19 (closed) 20 (closed) 21 (closed) 22 (closed) 23
24 25 26 (closed) 27 (closed) 28 (closed) 29 (closed) 30
31

@_j, from your experience, does pairing the markdown calendar with a supporting instruction like “forget any internal calendar knowledge you’ve been trained on” (or something similar) help at all?

Has anyone else experienced these kinds of calendar issues?

For weekday/date questions in Realtime models, I’d recommend adding a deterministic calendar tool and telling the model to use it instead of relying on its internal date reasoning.

Realtime supports tool use during live conversations, including function-style tools and MCP servers. If you already have shell/date logic, expose it through your backend as a tool (or MCP server) that returns the exact weekday/date result.

e.g date/cal on Linux, JS libraries like date-fns or dayjs, or Python pendulum.

The date bash tool

date -d '2026-04-07' +%A

Prints

Tuesday

@sps thanks for the suggestion.

We already use tools for other things and could add a deterministic calendar tool. The challenge is that inputs aren’t always clean YYYY-MM-DD dates; sometimes callers just say a weekday (e.g. “next Tuesday” or “this Friday”), or even provide both.

One approach could be a single flexible tool with optional arguments and let the model decide how to use it. Then internally do:

  • Date → weekday (straightforward)

  • Weekday → Date (we could default to the next matching occurrence)

Would that be how you’d set it up?

We’ll try the tool approach, but I see a couple of potential drawbacks:

  • Ambiguous cases like “first Sunday of May” still wouldn’t be handled cleanly, so we’d likely need to ask the caller for a specific date (which reduces the natural conversation flow a bit).

  • The model might occasionally skip the tool call, just like it ignored the markdown calendar.

  • Every tool call adds a small conversation pause, which feels inconvenient for basic date reasoning.

For context: if you ask regular chatgpt “What weekday is May 9th?”, it correctly answers Saturday and can even explain its reasoning (counting days from a known reference date like January 1st). It’s surprising that gpt-realtime doesn’t behave the same way. Hopefully future releases will handle calendar logic more reliably internally :folded_hands:

The calendar script that I created was very particular about adding exactly the same count of tokens for each column and for the key and separator rows in the markdown table.

You seem to have upset that relationship with some in-table modifications.

Remember: tokens are not “read” by a model in 2D with any kind of simultaneous vision like we humans have. Tokens are a sequence, where newlines are just more integers in a sequence of numbers being processed by the self-attention mechanism, and where the weekday legend at the top of a table becomes more distant later in the days of the month.

Another format if you want to have more data than just the calendar itself is JSON, using repetition and keeping the data close to its day-of-the-week:

{"availability": [
  {"date": "2026-04-07", "dow": "Tuesday", "localized": "Tuesday April 7, 2026", "available_appointments": 3, "availability": ["7:00", "7:30", "9:30"], "name_of_day": "today"},
  {"date": ...