[FEATURE] Support LC_TIME locale for /usage command time formatting

Open 💬 4 comments Opened Jun 18, 2026 by sewi-cpan

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

The /usage command currently displays times in 12-hour format (e.g., "5am", "6pm") regardless of the system's LC_TIME locale setting.

Current Behavior

Current session
██████████████████████████████████▌   69% used
Resets 5am (Europe/Saratov)

Current week (all models)
███████████████████████████████████████████▌   87% used
Resets 6pm (Europe/Saratov)

Expected Behavior

When LC_TIME=en_GB.UTF-8 (or other locales that use 24-hour format) is set, the times should be displayed in 24-hour format:

Current session
██████████████████████████████████▌   69% used
Resets 05:00 (Europe/Saratov)

Current week (all models)
███████████████████████████████████████████▌   87% used
Resets 18:00 (Europe/Saratov)

Environment

  • OS: Linux (WSL2)
  • Claude CLI version: 2.1.2, still exists in 2.1.178
  • LC_TIME is properly set in environment: LC_TIME=en_GB.UTF-8
  • System locale is configured and generated: locale-gen en_GB.UTF-8

Steps to Reproduce

  1. Set export LC_TIME=en_GB.UTF-8 in .bashrc
  2. Generate locale: sudo locale-gen en_GB.UTF-8
  3. Verify locale is active: locale | grep LC_TIME shows LC_TIME=en_GB.UTF-8
  4. Launch Claude CLI
  5. Run /usage command
  6. Observe that time is still shown in 12-hour format (5am, 6pm) instead of 24-hour format (05:00, 18:00)

Additional Context

Many international users prefer 24-hour time format, which is the standard in most countries outside the US. Respecting the LC_TIME locale would make the CLI experience more localized and user-friendly.

Originally reported in #20675 by @errordnk

Proposed Solution

Respect the system's LC_TIME locale setting when formatting timestamps in the /usage command output. This would make Claude CLI more internationally friendly and consistent with user expectations based on their locale settings.

@lfarkas found:
★ Insight ─────────────────────────────────────
JavaScript locale-aware time formatting: In JS, toLocaleTimeString() without arguments should respect the runtime's locale. However, if hour12: true is explicitly passed as an option, it overrides the locale and
forces AM/PM. The fix is to either omit hour12 entirely or use undefined as the locale parameter, which tells the runtime to use the system's LANG/LC_TIME environment variables. In Node.js/Bun, ICU data
availability also matters — some minimal builds don't include full locale data.
─────────────────────────────────────────────────

Here's what I found:

Location: The time formatting code is in the compiled Claude Code binary (~/.local/share/claude/versions/2.1.44), not in this repository. This repo contains plugins, scripts, and docs but not the main CLI
source.

Root cause: The /usage command's "Last updated" time uses toLocaleTimeString() with what appears to be a hardcoded hour12 option, forcing 12-hour AM/PM format regardless of your LC_TIME setting.

Fix: The source code would need to stop hardcoding hour12: true and let the locale determine the format.

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗