Panic when handling Korean text in file links: byte index not a char boundary

Resolved 💬 3 comments Opened Jan 5, 2026 by socar-pauljay Closed Feb 18, 2026

Description

Claude Code crashes with a Rust panic when processing markdown file links containing Korean characters.

Error Message

thread '<unnamed>' (4617873) panicked at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/str/mod.rs:833:21:
byte index 12 is not a char boundary; it is inside '작' (bytes 10..13) of `부터 시작`
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5, aborting
zsh: abort      claude --dangerously-skip-permissions

Steps to Reproduce

  1. Work with markdown files that have Korean filenames (e.g., E2E 자율주행 기술 브리핑.md)
  2. Edit the file to add markdown links pointing to other Korean-named files
  3. The links use URL-encoded Korean characters like ./01-%20%5B42dot%5D%20%5BAtria%20AI%5D%20기술%20현황%20보고서.md
  4. After multiple edit operations, the crash occurs

Root Cause

The Rust code is attempting to slice a Korean UTF-8 string at a byte index (12) that falls in the middle of a multi-byte Korean character ('작' spans bytes 10-13). Korean characters are 3 bytes each in UTF-8, and slicing must occur at valid character boundaries.

Environment

  • OS: macOS (Darwin 25.2.0)
  • Claude Code version: Latest
  • Model: claude-opus-4-5-20251101

Additional Context

This occurred while editing a Korean markdown document and adding internal links to other Korean-named markdown files in the same directory.

View original on GitHub ↗

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