Claude Code 2.1.296 (2026-10-09)의 changelog에는 다음과 같이 적혀 있습니다.
Fixed Edit and NotebookEdit replacing every non-ASCII character in files that are not valid UTF-8 (Windows-1252, Shift-JIS, GBK); such edits are now refused
(유효한 UTF-8이 아닌 파일의 모든 비-ASCII 문자를 대체하는 Edit 및 NotebookEdit 수정 기능이 고정되었습니다: 이제 그러한 편집은 거부됩니다)
Shift-JIS 파일을 Edit로 수정하자, ASCII가 아닌 문자 전체가 대체되었습니다. 40번 측정했습니다.
Shift-JIS의 Customer.java에서 메서드명(ASCII)을 하나 변경하게 했습니다(각 3회)
사용 가능한 도구는 Read / Edit / Write뿐입니다.
Claude Code 2.1.295 Claude Code 2.1.296
...
검증 환경: Windows 10 / Claude Code 2.1.295와 2.1.296을 격리 도입 /
claude -p
/
모든 랜덤 설정 디렉터리를 일회성으로 사용 / 측정은 2026-10-13
Shift-JIS(CP932, 줄바꿈은 CRLF)로 저장한 261바이트의 Java 파일입니다. 일본어는 주석 3곳과 문자열 1곳에 있습니다.
// 고객 데이터를 읽어오는 클래스
public class Customer {
/** 고객 파일을 열고 건수를 반환 */
...
요청한 것은
공식 문서(tools-reference, 2026-10-13 조회)에는 'Non-UTF-8 files' 섹션이 있습니다.
Write는 내용물에 U+FFFD가 없으면 다시 쓸 수 있으며, 이때 파일은 UTF-8로 저장된다고 되어 있습니다.
'Write 툴로 다시 써줘'라고 요청해도 Haiku 5.5는 6번 모두 Write를 사용하지 않았습니다 (Claude Code 2.1.295의 3번은 Edit으로 인해 손상됨). 이 부분은 확실하게 확인하지 못했습니다.
PowerShell과 Bash도 사용할 수 있도록 하여 같은 것을 요청했습니다(각 3회). 총 12번 모두 Edit을 사용하지 않고, 셸로 처리했습니다.
| 모델 | Claude Code 버전 | 일본어가 남아있음 | 줄 바꿈(CRLF)이 남아있음 |
|---|
| Haiku 5.5 | 2.1.295 | 3/3 | 2/3 |
| ... | | | |
| 다만 Haiku 5.5가 Git Bash의 sed -i로 처리한 3번은, CRLF가 9줄 모두 LF로 바뀌었습니다. Opus 5.5와 Sonnet 5.5는 PowerShell을 사용하여 문자 코드를 지정하고, CRLF도 유지했습니다. | | | |
파일은 작은 Java 파일 1개만 사용했고, 각 3회였습니다. 동일한 조건의 테스트 실행 1회에서는, Opus 5.5는 편집하지 않고 멈췄습니다 -
Windows 환경에서 측정했습니다.sed -i
이 줄 바꿈을 변경한 것은 Git Bash일 경우입니다 -
Claude Code 2.1.295 이전은 측정하지 않았습니다. 언제부터 발생했는지는 알 수 없습니다 - 비용은 테스트 실행 7회를 제외하고 $0.99(total_cost_usd)였습니다.
Claude Code 2.1.295에서는 Shift-JIS 파일을 Edit으로 처리하면, 일본어가 모두 U+FFFD가 되었습니다. 원래 바이트는 남아있지 않습니다 -
Claude는 '변경했습니다'라고 답했을 뿐, 손상되었다는 것을 알아채지 못했습니다. 다시 읽어봐도 전과 후 모두 같은 �
보이는 Claude Code 2.1.296은, Edit이 쓰기 전에 멈춥니다-
셸을 사용할 수 있었다면 일본어는 남아있었습니다. 다만 sed -i
는 CRLF를 LF로 변경했습니다.
Shift-JIS 파일을 Claude Code에 처리하게 하려면, 우선 2.1.296 이상으로 올리는 것이 먼저입니다.
오래된 버전에서 건드렸다면, git diff
로 일본어 줄이 바뀌지 않았는지 확인해 보세요.
- Claude Code에 전달한 파일이나 지시가 조용히 도착하지 않았던 6가지 상황과 확인 방법 — 조용히 빠져나갔던 6가지 상황
- Claude Code의 @로 전달한 파일은, 영문 110KB・일본어 3만 자에서 조용히 누락되었습니다. 수정된 것은 256KB 초과일 때뿐이었습니다 — 일본어 파일이 도착하지 않았던 경우
JQIT 엔지니어의 95% 이상은 미경험자 채용입니다.
괜찮으시다면 기업 사이트에도 놀러 와주세요.
엔지니어 채용도 진행하고 있습니다. 관심 있으시면 한번 둘러봐 주세요.
▶ 채용 사이트