
Claude Code v2.1.212|폭주 루프 방지를 위한 세션 상한 도입|매일 Changelog 해설
요약
Claude Code v2.1.212 업데이트를 통해 WebSearch와 서브 에이전트의 무한 루프를 방지하기 위한 세션 상한(기본 200회)이 도입되었습니다. 또한 Plan mode의 권한 바이패스 버그와 worktree 심볼릭 링크 관련 보안 이슈가 해결되었습니다.
핵심 포인트
- WebSearch 및 서브 에이전트 생성에 세션당 200회 상한 적용
- Plan mode에서 승인 없이 파일 수정(touch, rm)하던 버그 수정
- 2분 초과 MCP 툴 호출 시 자동 백그라운드 전환 기능
- /fork 명령어가 대화 복제 방식의 백그라운드 세션 생성으로 변경
v2.1.212에서 WebSearch와 서브 에이전트(Sub-agent) 생성에 세션 단위의 상한이 도입되었습니다. 둘 다 기본값 200회로 제한되며, 이는 무한히 검색이나 위임을 반복하는 루프를 멈추기 위한 안전장치입니다. 이와 함께 Plan mode가 허가 없이 파일을 수정하던 버그도 해결되었습니다.
WebSearch와 서브 에이전트에 세션 상한 적용- 둘 다 기본 200회로 제한. 폭주 루프를 멈추는 안전장치 (v2.1.212) -
MCP 툴은 2분 후 자동으로 백그라운드로 전환- 긴 호출로 인해 세션이 멈추는 현상 해결 (v2.1.212) -
- 대화를 별도 세션으로 복제하여 병행 작업 수행, 기존 동작은
/fork
가 백그라운드 세션화
/subtask
로 분리 (v2.1.212) -
Plan mode의 권한 바이패스 수정- touch나 rm을 허가 프롬프트 없이 실행하던 문제 (v2.1.212) -
worktree의 symlink 추적 수정- 커밋된 .claude/worktrees symlink를 통해 리포지토리 외부로 쓰는 문제 (v2.1.212) -
Task 툴의- 서브 에이전트는 부모 세션의 권한 모드를 상속 (v2.1.212)
mode 파라미터 비권장(Deprecated) 처리
세션 단위로 횟수 제한이 생겼습니다. WebSearch와 서브 에이전트 생성에 각각 기본 200회의 상한이 적용되었습니다. 무한히 검색과 위임을 반복하며 API를 낭비하는 루프를 상한을 통해 강제로 멈추는 메커니즘입니다.
# WebSearch의 세션 상한 (기본 200)
CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION=200
# 서브 에이전트 생성의 세션 상한 (기본 200)
...
서브 에이전트 측의 예산은 /clear로 리셋됩니다. 2분을 초과하는 MCP 툴 호출은 자동으로 백그라운드로 넘어가 세션이 멈추는 것을 방지합니다. 임계값은 CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS로 변경하거나 무효화할 수 있습니다. 폭주한 세션이 API를 끝없이 호출하는 사고는 200회에서 차단됩니다.
Plan mode를 "읽기 전용으로 안전하다"고 생각하며 사용하던 분들에게 유효한 수정입니다. v2.1.212 이전에는 Plan mode 중에도 touch나 rm과 같이 파일 변경을 동반하는 Bash 명령어가 허가 프롬프트나 SDK의 canUseTool 콜백을 거치지 않고 실행되었습니다.
Plan mode 실행 중에 touch, rm 등의 파일 변경 명령어가 승인 없이 실행되었습니다. SDK를 통해서는 canUseTool도 호출되지 않습니다. Plan mode를 파괴적인 동작을 막는 방파제로 사용하고 있었다면, v2.1.212로 업데이트한 후 동작을 확인하시기 바랍니다.
worktree 생성 시에도 유사한 경로가 있었습니다. .claude/worktrees가 리포지토리에 커밋된 symlink인 경우, 해당 참조를 따라 리포지토리 외부로 파일을 생성할 수 있었습니다. 이 두 가지 문제 모두 v2.1.212에서 해결되었습니다.
/fork의 동작이 완전히 바뀌었습니다. 이전에는 세션 내에서 서브 에이전트를 기동했으나, v2.1.212부터는 대화 자체를 새로운 백그라운드 세션으로 복제하는 방식으로 변경되었습니다. claude agents 목록에 독립된 행으로 표시되어 기존 작업을 중단하지 않고 진행할 수 있습니다. 기존의 세션 내 서브 에이전트는 /subtask로 분리되었습니다.
제목이 없는 세션의 경우, 복제 시 프롬프트 이름으로 명명됩니다. claude agents 목록에서 어떤 포크(fork)인지 한눈에 확인할 수 있습니다.
| 버전 | 카테고리 | 변경 사항 | 개요 |
|---|---|---|---|
| v2.1.212 | 신기능 | claude auto-mode reset | auto-mode 설정을 기본값으로 되돌림. 확인 프롬프트 포함 (--yes로 스킵 가능) |
| v2.1.212 | 개선 | /resume의 과거 세션 피커 (session picker) | 에이전트 뷰에서 과거 세션(삭제된 세션 포함)을 선택하여 재개 |
| v2.1.212 | 파괴적 변경 (Breaking Change) | forceLoginMethod 적용 확대 | VS Code 확장, SDK, setup-token, install-github-app에도 강제 적용 |
| v2.1.212 | 변경 | set_model의 턴(turn) 중 적용 | headless/SDK에서 다음 모델 왕복(round-trip)부터 새 모델을 사용 |
| v2.1.212 | 수정 | 이미지가 많을 때 "Request too large" 발생 | 대량의 이미지 대화가 잘못 실패하는 문제를 수정하고, 원인을 설명하는 문구로 개선 |
| v2.1.212 | 수정 | 웹 검색/취득의 신뢰성 | API 과부하 시 "API Error"가 섞이는 문제를 수정하고, 529 및 속도 제한(rate limit) 발생 시 백오프(backoff)와 함께 재시도 |
| v2.1.212 | 개선 | 프롬프트 캐싱 (Prompt Caching) | LLM 게이트웨이나 자체 base URL (Bedrock/Vertex/1P)에서도 중간 system 블록이 작동 |
v2.1.212의 핵심은 폭주 루프를 방지하기 위한 3가지 상한(WebSearch, 서브 에이전트, MCP의 자동 백그라운드 실행)입니다. 이에 더해 Plan mode와 worktree의 권한 관련 허점도 보완되었습니다. 권한 모드나 Plan mode를 운영 전제로 사용하고 있다면, v2.1.212로 업데이트하여 동작을 확인하시기 바랍니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기