[BUG] VS Code extension: showMessageTimestamps, timeFormat and timeZone are documented in the schema but never read

Status Open
Reported on v2.1.258
Maintainer reply None cached
Activity 1 comment · opened Sep 2, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

In the VS Code extension, showMessageTimestamps, timeFormat and timeZone are accepted in settings.json and documented in the shipped settings schema, but no code path a string search can find reads any of them. No timestamp is rendered on any message. There is no error and no warning, so the setting looks applied.

I have had showMessageTimestamps: true in my user settings since 30 August. I checked the panel on 30 August and again on 2 September, and there was no time on any message either time.

On anthropic.claude-code-2.1.258-win32-x64, all three keys are present in claude-code-settings.schema.json with full descriptions. Counting occurrences of each key in the two bundles that ship with the extension:

extension.js 3.2 MB showMessageTimestamps 1 timeFormat 1 timeZone 1
webview/index.js 5.0 MB showMessageTimestamps 0 timeFormat 0 timeZone 1

All three hits in extension.js are inside the same contiguous zod schema block, next to showTurnDuration and prefersReducedMotion:

showMessageTimestamps:Q$().optional().describe("Stamp each message with its arrival time")
timeFormat:Z4([i$(Lz1),C()]).optional().describe('Clock format for times shown in the UI: ...')
timeZone:C().optional().describe('IANA time zone for times shown in the UI, ...')

So each key is declared once and appears nowhere else. The single timeZone hit in the webview is unrelated, a hardcoded timeZone:"UTC" inside a toLocaleDateString call used for a date label.

webview/index.js is the bundle that renders the chat panel, and it contains no reference to showMessageTimestamps or timeFormat at all.

What Should Happen?

Either the messages carry a timestamp, or the extension states that the setting is not supported here.

A documented setting that is silently ignored is harder to diagnose than one that is missing, because the obvious way to check it is to look at the setting, and the setting looks correct.

Error Messages/Logs

None. That is the substance of the report. The settings parse without complaint, the extension loads normally, and nothing is written to any log.

Steps to Reproduce

  1. Add "showMessageTimestamps": true to ~/.claude/settings.json
  2. Reload the VS Code window
  3. Send a message in the Claude Code panel
  4. Observe that no time appears on any message, and that no error or warning is shown anywhere

To confirm it is not a rendering preference, search the shipped bundles:

grep -c showMessageTimestamps <extension folder>/extension.js returns 1
grep -c showMessageTimestamps <extension folder>/webview/index.js returns 0

The single hit in extension.js is the settings schema declaration itself.

Claude Model

Opus

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.258 (both the npm CLI and the VS Code extension are on 2.1.258)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

VS Code integrated terminal

Additional Information

Related, and I do not think this is a duplicate, but it is close enough to name.

Issue #91401 is a feature request asking for per-message timestamps. Its one comment, from @macrathod on 2.1.238, reports the same core symptom: showMessageTimestamps: true saves correctly but timestamps do not render in the VS Code extension. That observation is theirs and predates this report.

What this report adds is the cause rather than the symptom. The keys are not merely unwired in the extension, they are declared once each in the settings schema and read by nothing in either shipped bundle. It also covers timeFormat and timeZone, which did not exist at 2.1.238, and confirms the behaviour on 2.1.258.

I am filing separately rather than commenting there because a broken-setting bug living inside a feature request titled "Display per-message timestamps" is not findable by anyone hitting it, who would search for their setting being ignored rather than for a feature that does not exist.

One clarification the form cannot express. The Terminal/Shell field above says "VS Code integrated terminal" because it is the closest available option, but I am using the VS Code extension panel, which is a webview and not a terminal. That distinction matters here, because the bug is specifically that webview/index.js never reads these keys. I have not tested the plain terminal CLI and cannot say whether it renders them correctly.

timeFormat and timeZone are newer than showMessageTimestamps and neither reaches the renderer either, so this is not one stale key left behind.

These are string occurrence counts in minified bundles, so a value read through a computed key would not appear.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗