Claude Code의 변경 로그: @로 언급된 파일 중 256KB 초과 파일이 조용히 누락되었음
요약
Claude Code의 최신 버전(2.1.292) 변경 로그를 분석한 내용입니다. 이 업데이트는 기존에 256KB 초과로 인해 조용히 누락되던 @ 언급 파일 처리 문제를 해결했습니다. 테스트 결과, 실제 파일 도달 경계 지점은 바이트 크기보다 토큰 수와 관련이 깊으며, 큰 파일을 다룰 때의 한계를 명확히 보여줍니다.
핵심 포인트
- Claude Code 2.1.292는 256KB 초과 @ 언급 파일 누락 문제를 해결했습니다.
- 파일 도달 경계 지점은 바이트 크기보다 토큰 수에 의해 결정되는 것으로 보입니다.
- 누락된 경우 세션 기록에 아무런 흔적도 남지 않아 문제가 심각합니다.
- 대용량 파일을 처리할 때는 Read call의 offset 및 limit 파라미터를 사용해야 합니다.
Claude Code 2.1.292 (2026-10-06)의 changelog에는 다음과 같이 적혀 있습니다.
Fixed @-mentioned text files over 256KB being left out silently: Claude is now told the file's size and to read it in portions
@로 언급된 256KB가 넘는 파일이 조용히 누락되었습니다. 수정된 버전에서는 파일의 크기가 Claude에게 전달됩니다.
측정해 보니, 조용히 누락되기 시작하는 지점은 그보다 더 앞에 있었습니다. 총 62번 측정했습니다.
@로 언급된 파일이 Claude에게 도달했는지 여부 (Claude Code 2.1.292)
영문 105KB 도달함
영문 110KB~258KB는 도달하지 않음. 알림도 없음 ← 수정 대상 아님
...
검증 환경: Windows 10 / Claude Code 2.1.290 및 2.1.292를 격리 도입 /
claude -p
/
모델은 Haiku 4.5와 Opus 5.5 / 모든 랜덤 설정 디렉터리 사용 후 폐기 / 측정은 2026-10-07
파일 크기를 다르게 하여, 첫 줄과 마지막 줄에 암호를 넣은 텍스트를 준비했습니다 (영문 2만~30만 바이트의 15개, 일본어 4개).
요청한 것은 오직 “@big.txt의 첫 줄과 마지막 줄의 암호는 무엇인가?”뿐입니다.
--tools ""로 도구를 모두 제거했습니다 (모델은 Haiku 4.5). Claude가 스스로 파일을 열 수 없기 때문에, 답변할 수 있는지는 **
@
로 내용이 도달했는지 여부만으로 결정됩니다.**
도착 여부는 답변 외에 세션 기록 **(첨부 파일의 유무)**와 입력 토큰 수로 확인했습니다.| 파일 | 바이트 | 2.1.290 | 2.1.292 |
|---|---|---|---|
| 영문 | 20,000~100,000 | 도달함 | 도달함 |
| ... |도달하지 않음・알림 없음 |
| 영문 | 265,000 / 300,000 | 도달하지 않음・알림 없음 | 도달하지 않음・알림 있음 |
| | 일본어 19,975자 | 53,155 | — | 도달함 |
| | 일본어 29,971자 / 39,967자 | 79,811 / 106,467 | — | 도달하지 않음・알림 없음 |
| | 일본어 104,983자 | 279,843 | 도달하지 않음・알림 없음 | 도달하지 않음・알림 있음 |
일본어는 80KB에서 누락되었고, 영문은 105KB에서 도달했습니다. 경계 지점은 바이트 수로는 설명할 수 없으며, 토큰 수로 결정되는 것처럼 보입니다 (파일 읽기 시의 '토큰 상한'을 높이자 경계가 움직였습니다. 후술).
도달한 영문 105KB를 사용했을 때, 입력은 약 2.7만 토큰 증가했습니다.
256KB 이하에서 도달하지 못했을 때는 세션 기록에 첨부 흔적이 없습니다. 누락되었다는 기록조차 남지 않습니다.
256KB 초과 시 Claude Code 2.1.292가 보내는 알림은 다음과 같습니다 (경로는 생략).
The user @-mentioned C:\...ig.txt (293KB). Its contents were not attached because the file is too large to read all at once, and a Read call with no limit parameter will fail. Read it in portions with the offset and limit parameters, starting with a few hundred lines, or search for specific content instead of reading the whole file.
300,000바이트를 “293KB”라고 쓰기 때문에, 256KB는 262,144 바이트로 읽을 수 있습니다 (258,000은 알림 없음, 265,000은 알림 있음).
평소처럼 도구를 사용할 수 있는 상태에서, 150KB와 300KB를 각각 3번씩, 양쪽 버전을 대상으로 질문했습니다.
| 모델 | 정답 | 처음 시도한 것 |
|---|---|---|
| Opus 5.5 | 12/12 | PowerShell로 시작과 끝의 한 줄을 가져옴 |
| Haiku 4.5 | 11/12 | 알림이 없는 9번은 @big.txt라는 이름으로 열려고 시도함 |
내용이 도착하지 않았음에도 불구하고, Claude는 파일 이름만 보고 열어 가려고 했습니다.
다만 Haiku는 알림이 없는 9번의 경우 모두, 처음 @가 붙은 이름을 열려고 시도하다가 실패했습니다. 한 번은 그대로 찾지 못해 다시 물어보고 끝났습니다.
알림이 있는 3번의 경우, 처음부터 올바른 경로를 열었습니다. 알림에는 절대 경로가 적혀 있습니다.
툴이 없으면 지어낸 이야기였습니다. 도착하지 않은 20번 중 16번, Haiku는 존재하지 않는 암호를 대답했습니다.
Based on the file contents:
- **First line passphrase:** `correct horse battery staple`
- **Last line passphrase:** `zephyr quantum fathom whisper`
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS
을 80000으로 설정했을 때, 150KB와 200KB가 도착했습니다 (Claude Code 2.1.292). 문서 설명은 다음과 같습니다.
파일 읽기에 대한 기본 토큰 제한을 재정의합니다. 더 큰 파일을 전체적으로 읽어야 할 때 유용합니다.
256KB 상한선은 변하지 않았습니다. 300KB는 알림만 나왔을 뿐이었습니다. 기본값은 환경 변수 목록이나 Read 툴 설명에 적혀 있지 않습니다.
측정한 것은 2026-10-07 하루였습니다. 경계 확인은 각 사이즈당 12회입니다. 도착했는지는 기록으로 보고 있습니다 -125KB와 일본어 약 2만~4만 자는 Claude Code 2.1.292 만으로 측정했습니다
내용은 같은 영어와 일본어의 반복이었습니다. 토큰이 되기 쉬운 문장에서는 경계가 움직입니다 -
토큰 수는 모델 측의 계산 방식(usage)
입니다. Claude Code 내부에서 어떻게 세고 있는지는 알 수 없습니다 (claude -p)
만으로는, 대화 모드에서는 측정하지 않았습니다-
툴이 있는 비교는 '첫 줄과 마지막 줄'을 물어본 것입니다. 파일이 열리고 싶게 묻는 방식이라, 요약 등 다른 방식으로 물으면 결과가 달라질 수 있습니다 - 영어 101KB
- 비용은 62회에 총 $2.72(
total_cost_usd)
@
로 전달한 파일은 영어로 105KB110KB, 일본어로 2만3만 자 사이에서 내용이 도착하지 않습니다-
도착하지 않아도 아무 말도 하지 않는다. Claude Code 2.1.292에서 알림이 붙은 것은 256KB 초과일 때뿐입니다 -
툴을 사용할 수 있으면 Claude는 스스로 열어서 대답했습니다(24회 중 23회). 사용할 수 없으면 지어낸 이야기였습니다(20회 중 16회) CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS
을 올리면, 256KB까지 도착합니다.
로그나 CSV를 @
로 전달해서 답이 이상할 때는, 내용이 도착하지 않았음을 먼저 의심해 보세요.
- Claude Code의 WebFetch는 긴 페이지의 10만 자보다 뒤는 읽지 않고
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기