Feature request: Allow session title language to be configured (e.g., via CLAUDE.md)

Status Fixed / completed
Maintainer reply None cached
Activity 5 comments · opened Jun 28, 2026 · closed Aug 17, 2026

Summary

Session titles in Claude Code Desktop are always generated in English, even when the user exclusively communicates in Japanese (or another non-English language). There is currently no way to configure the language used for session title generation.

What I tried

  • Adding a rule to project-level CLAUDE.md: 新規セッションのタイトルは必ず日本語で命名する(英語禁止)
  • Adding the same rule to global ~/.claude/CLAUDE.md
  • Neither had any effect — titles remained in English

Expected behavior

Session titles should respect either:

  1. A configurable setting (e.g., in settings.json or CLAUDE.md) for the preferred title language
  2. The language of the user's input messages (auto-detect)
  3. The system locale

Why this matters

For non-English-speaking users, English session titles make it harder to quickly scan and find past sessions. Japanese (or localized) titles would significantly improve the session management experience.

Environment

  • Claude Code Desktop on Windows 11
  • Primary language: Japanese

View original on GitHub ↗

4 Comments

ShibainuK · 2 months ago

Adding a concrete repro that elevates this from a feature request to a bug: the feature already exists but does not work.

The v2.1.177 changelog states:

Session titles are now generated in the language of your conversation (set the language setting to pin a specific language)

However, even with the language pin explicitly set, titles are still generated in English:

  • ~/.claude/settings.json contains "language": "japanese" (applied — chat responses are correctly in Japanese)
  • Claude Desktop on Windows 11, bundled claude-code 2.1.187 (which is newer than 2.1.177)
  • First user message, fully in Japanese: セッション名に日本語が使われているかのテスト
  • Generated session title: Japanese session name test (translated to English instead of pinned to Japanese)

So both documented mechanisms fail: the language setting is ignored for title generation, and conversation-language auto-detection also resolves to English despite 100% Japanese input. It is intermittent — very occasionally a Japanese title is produced, which suggests the language signal is not being passed reliably to the title-generation prompt.

Environment: Claude Desktop on Windows 11, bundled claude-code 2.1.187, language: japanese.

Kenta-Kaneko-01 · 1 month ago

Confirming this is still an issue. I have "language": "japanese" explicitly set in ~/.claude/settings.json, and session titles are still auto-generated in English. This suggests the language setting is not currently read by the session-title generation logic at all (not just a CLAUDE.md instruction-following issue). Would be great to see this respected, e.g. per #35243 / #33546.

jshsshwa · 1 month ago

Same problem for Traditional Chinese (zh-TW) users on Claude Code Desktop (macOS).

My setup:

  • Global ~/.claude/CLAUDE.md instructs all responses in Traditional Chinese, and project CLAUDE.md does the same — responses are consistently Chinese, but auto-generated sidebar session titles still come out in English intermittently (e.g. "Session sidebar language test" while the first message was written in Chinese).
  • No settings.json key or env var affects title generation; the language setting only changes response language.
  • Workarounds are all manual: renaming in the sidebar every time, or claude -n <name> in the CLI (not applicable to the Desktop sidebar flow). Even the session-management MCP tool set_session_title cannot rename the current session from within it, so it can't be automated either.

Any of the three options in the OP (config key / auto-detect from user input language / locale) would solve it. Auto-detecting from the first user message's language seems like the lowest-friction default.

yutoribengoshi · 1 month ago

Same problem here (Japanese-only usage, 465 sessions). I went looking for where the title actually comes from, because I wanted to know why the CLAUDE.md rule has no effect. Posting what I found, since it points at a one-line fix.

Why CLAUDE.md can't work: the title is produced by a prompt that lives in the desktop app itself (Claude.app/Contents/Resources/app.asar.vite/build/index.chunk-*.js), and it is given only a short session description as input. It never sees the session's CLAUDE.md, settings, or system locale. So no amount of project- or user-level configuration can reach it today.

Why the output lands in English. Three things in that prompt push it there, and none of them is an explicit "use English":

  1. There is no language instruction at all — nothing tells it to match the input language.
  2. It is told to produce the title "in sentence case: capitalize only the first word and proper nouns". Capitalization is a Latin-script-only concept; instructing the model to control capitalization implicitly asks for a script that has capitalization.
  3. All four few-shot examples are English input → English output, so the only worked examples of the target language are English.

Measured on my own 465 sessions (comparing app-generated titles against ones I typed myself, straight out of the session store):

| | contains Japanese |
|---|---|
| app-generated titles (368) | 24% (90) |
| titles I typed myself (97) | 98% (95) |

So it is not strictly "always English" — it is ~76% English, with Japanese leaking through only when the opening message is overwhelmingly Japanese. In practice the inconsistency is worse than pure English would be: you cannot rely on either language when scanning the sidebar, so you end up opening sessions to identify them.

Minimal fix, no new setting required: add one line to that prompt telling it to write the title in the same language as the description, and make the sentence-case sentence conditional on the title being in a Latin script. That is option 2 in the original report (auto-detect from the user's input) and it needs no configuration surface at all — the description is already sufficient signal, and it degrades gracefully for mixed-language sessions.

If a setting is still wanted on top of that, settings.json seems like the discoverable place, but I would expect language-matching alone to close this for most non-English users.

For anyone stuck in the meantime: the titles are stored as plain title / titleSource fields in the app's session store, so they can be bulk-rewritten locally. Setting titleSource to user also stops the app from re-generating over your own naming. Changes show up after an app restart, since the sidebar list is held in memory.

Showing cached comments. Read the full discussion on GitHub ↗