claude-code - 💡(How to fix) Fix [BUG] Glob tool fails to match multibyte (Korean/CJK) characters with wildcards [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#55588Fetched 2026-05-03 04:49:30
View on GitHub
Comments
0
Participants
1
Timeline
4
Reactions
0
Participants
Timeline (top)
labeled ×4

Error Message

Error Messages/Logs

Fix Action

Fix / Workaround

Workaround: Provide the full path including the Korean characters, then use ** for subdirectory content.

RAW_BUFFERClick to expand / collapse

Preflight Checklist

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

What's Wrong?

The Glob tool built into Claude Code fails to find files/directories when the wildcard * needs to match multibyte (Korean/CJK) UTF-8 characters in the path.

Example: a directory named 61_공인중개사-시험준비 exists under 10_Projects/.

  • Glob("10_Projects/61*")No files found (wrong)
  • Glob("10_Projects/61_공인중개사-시험준비/**") → works correctly
  • Python glob.glob("10_Projects/61*") → works correctly

What Should Happen?

The * wildcard should match any characters including multibyte UTF-8 sequences, consistent with standard glob behavior and Python's glob.glob.

Error Messages/Logs

Steps to Reproduce

  1. Create a directory with Korean characters in the name, e.g. mkdir ~/test/61_공인중개사-시험준비
  2. In Claude Code, use the Glob tool: Glob("~/test/61*")
  3. Result: No files found

Verification that the directory exists:

  • ls ~/test/ | grep "^61" → shows 61_공인중개사-시험준비
  • Python glob.glob(os.path.expanduser("~/test/61*")) → returns the directory correctly

Workaround: Provide the full path including the Korean characters, then use ** for subdirectory content.

Claude Model

None

Is this a regression?

No, this never worked

Last Working Version

No response

Claude Code Version

2.1.63 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

No response

extent analysis

TL;DR

The Glob tool in Claude Code may need a fix to correctly handle multibyte UTF-8 characters in paths when using the * wildcard.

Guidance

  • Verify that the issue is specific to the Glob tool in Claude Code by comparing its behavior with Python's glob.glob function, which seems to handle multibyte characters correctly.
  • Test the Glob tool with different wildcard patterns and directory names to understand the scope of the issue.
  • Consider providing the full path including the Korean characters and then using ** for subdirectory content as a temporary workaround.
  • Check if there are any open issues or discussions related to Unicode support in the Claude Code repository that might shed more light on this problem.

Example

No specific code example is provided due to the nature of the issue, but using Python's glob.glob as a reference might help in understanding how the Glob tool in Claude Code should behave:

import glob
import os

# Example usage of glob.glob with multibyte characters
print(glob.glob(os.path.expanduser("~/test/61*")))

Notes

The issue seems to be specific to the Glob tool in Claude Code and does not appear to be a regression, as it has never worked correctly with multibyte UTF-8 characters. The workaround provided in the issue description can be used temporarily until a proper fix is implemented.

Recommendation

Apply workaround: Until the Glob tool is fixed to handle multibyte UTF-8 characters correctly, providing the full path including the Korean characters and then using ** for subdirectory content can help mitigate the issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING