Desktop app: Ctrl+F page search doesn't match Japanese text (only romaji/ASCII)
Status Open
Maintainer reply None cached
Workaround ✓ Mentioned in thread ↓
Activity 3 comments · opened Aug 10, 2026
Description
In the Claude Code desktop app, using Ctrl+F to search within the page/transcript only matches romaji/ASCII text. Japanese text (hiragana/katakana/kanji) does not appear to be searchable via this in-page search.
Steps to reproduce
- Open a session transcript containing Japanese text
- Press Ctrl+F to open in-page search
- Type a Japanese search term
- No matches are found, even when the term is clearly present in the visible text
- Searching the same content with a romaji/ASCII term works as expected
Expected behavior
Ctrl+F search should match Japanese (and likely other non-ASCII/CJK) text the same way it matches ASCII text.
Environment
- Claude Code desktop app
- OS: Windows 11
3 Comments
Same defect with Traditional Chinese, on Windows 11.
Repro:
Scope-narrowing data point: the cross-session transcript search exposed by the
desktop app's session-management MCP tool (
search_session_transcripts) handlesCJK correctly -- searching
交接returns correct hits with correctly-positionedsnippets, while
handoffreturns hits from the same sessions. So the storedcontent and the cross-session index are both fine; the defect is isolated to the
in-page (Ctrl+F) matcher in the desktop UI.
Given that split, a plausible cause is that the in-page matcher does
word-boundary or whitespace-tokenized matching (e.g. a
\b-anchored regex, or anASCII word splitter) rather than the plain case-insensitive substring match the
cross-session search uses. Word boundaries never fire between CJK characters, so
a whole run of CJK collapses into one token and only an exact full-token query
could hit. This affects Chinese, Japanese and Korean identically, so it should be
one matcher fix, not per-language handling.
Filling in the fields the bug template asks for, since this issue was opened
without it:
I have been using the desktop app, so if it is a regression it predates that.
@bcherny could this get the
buglabel? It was filed without the bug template,so it does not carry one, which keeps it out of the
label:bugqueries thetemplate itself points people at for dedupe.
Follow-up with controlled tests — this turns out not to be a CJK matching bug. The
in-page search simply doesn't run until the query is at least 3 characters long,
for any script. My earlier word-boundary hypothesis was wrong; please disregard it.
Page text:
今天來測試交接流程andABC交接123| Query | Length | Result |
|---|---|---|
|
交接| 2 | no match ||
AB| 2 | no match ||
交接(leading space) | 3 | match ||
交接流| 3 | match ||
ABC| 3 | match ||
測試交接(mid-run) | 4 | match ||
今天來測試交接流程| 9 | match |Substring matching inside unbroken CJK runs works fine (
測試交接hits mid-sentence),and a 2-character ASCII query fails just like a 2-character CJK one. So the only
problem is the minimum query length.
Why this reads as "CJK search is broken": a 3-character minimum rarely matters in
English, but a large share of Chinese and Japanese words are exactly 2 characters
(交接, 搜尋, 検索, 設定), and single-character queries are common too. The original
report ("only romaji works") fits: romanized terms are almost always longer than
2 characters.
Suggested fix: drop the minimum, or apply it only to ASCII-only queries, so any
query containing CJK characters searches from 1 character.
Same environment as my previous comment (desktop app 1.46388.4, Windows 11 Pro 10.0.26200).
One more data point on impact: there is no in-page workaround for 2-character CJK
queries.
交接and交接find nothing inside今天來測試交接流程.surrounds the word, which is usually exactly what the user is searching to find.
So for Chinese/Japanese users the most common search, "where did this 2-character
term come up", can't be done with Ctrl+F at all. The only workaround I found is
asking Claude to run the cross-session transcript search, which returns snippets but
can't highlight or jump within the page.