
Claude Code v2.1.186의 주요 변경 사항: bash 자동 응답 및 보안 수정
요약
Claude Code v2.1.186 업데이트를 통해 bash 명령어 자동 응답 기능이 도입되었으며, 보안 결함 수정 및 MCP 서버 인증 방식이 개선되었습니다. 특히 bash 명령어 실행 시 Claude가 출력을 자동으로 해석하여 응답하는 동작이 기본값으로 변경되었습니다.
핵심 포인트
- bash 명령어(! ) 실행 시 Claude가 출력을 자동 해석하여 응답하는 기능 추가
- 무인 운용을 위한 리트라이 설정 방식이 Watchdog 시스템으로 변경
- SSH 및 헤드리스 환경을 위한 MCP 서버 CLI 인증 기능 지원
- 서브 에이전트의 도구 호출 시 메인 세션 다이얼로그를 통한 보안 승인 방식 개선
Claude Code v2.1.186이 출시되었으며, 일상적인 개발 워크플로우에 영향을 미치는 몇 가지 변경 사항이 포함되어 있습니다. 특히 ! bash 명령어 출력에 Claude가 자동 응답하는 기본 동작의 변경은 기존 워크플로우를 사용하는 분들에게 즉각적인 영향을 미칩니다. 또한, 서브 에이전트(sub-agent)의 deny 규칙 미적용이라는 보안 결함 수정 및 MCP 서버의 CLI 인증 명령어 추가 등 개발 경험을 향상시키는 개선 사항도 다수 포함되어 있습니다.
📌 영향을 받는 사람
!bash 명령어를 일상적으로 사용하는 Claude Code 사용자CLAUDE_CODE_MAX_RETRIES를 15 초과로 설정하여 무인 운용 중인 팀- 멀티 에이전트(multi-agent) 구성에서 서브 에이전트에 제한을 걸고 있는 개발자
- SSH를 통해 MCP 서버를 인증하고 싶은 분
⚠️ Breaking Change
기본 동작이 변경됩니다. 기존 워크플로우에 영향이 있는 경우 옵트아웃(opt-out) 설정이 필요합니다.
지금까지 !로 bash 명령어를 실행하면 그 출력은 컨텍스트(context)에 추가될 뿐이었습니다. 앞으로는 Claude가 출력 내용을 자동으로 읽고 응답을 반환하게 됩니다.
동작의 변화
| 항목 | 기존 동작 | 새로운 동작 |
|---|---|---|
! ls -la의 출력 | 컨텍스트에 추가만 됨 | Claude가 자동으로 내용을 해석 및 응답 |
| 사용자의 조작 | 추가 질문이 필요함 | 자동으로 응답이 돌아옴 |
| 기본 설정 | 자동 응답 없음 | 자동 응답 있음 |
기존 동작으로 되돌리는 방법
settings.json에 아래 내용을 추가함으로써 옵트아웃할 수 있습니다.
{
"respondToBashCommands": false
}
💡 Tips
자동 응답이 편리한 상황(에러 로그 분석 등)에서는 새로운 기본값 그대로 사용하고, 스크립트 출력을 단순히 기록만 하고 싶은 상황에서는 false로 전환하는 것이 좋습니다.
⚠️ Breaking Change
15 초과의 리트라이(retry) 설정을 하고 있는 무인 운용 세션은 동작이 변경됩니다.
CLAUDE_CODE_MAX_RETRIES 환경 변수에 16 이상의 값을 설정하더라도, 내부적으로 15로 캡(cap)이 씌워지게 되었습니다.
대응 방법
장시간의 무인 운용이 필요한 경우에는 CLAUDE_CODE_RETRY_WATCHDOG로의 이행이 권장됩니다.
# 기존: 리트라이 횟수를 늘려 무인 운용 (15 초과는 무효화됨)
export CLAUDE_CODE_MAX_RETRIES=30
# 신규: 워치독(watchdog)을 사용한 무인 운용
...
| 설정 | 용도 | 상한 |
|---|---|---|
CLAUDE_CODE_MAX_RETRIES | 에러 발생 시 리트라이 횟수 지정 | 최대 15 |
CLAUDE_CODE_RETRY_WATCHDOG | 무인 세션의 장시간 지속 | 제한 없음 |
대화형 /mcp 메뉴를 열지 않아도, 커맨드라인에서 MCP 서버 인증을 완료할 수 있게 되었습니다.
# MCP 서버 인증
claude mcp login <server-name>
# SSH 환경 등, 브라우저를 사용할 수 없는 경우
...
--no-browser 옵션을 통해 stdin 리다이렉션(redirection)을 지원하므로, SSH를 통한 원격 환경에서도 인증 플로우를 완료할 수 있습니다. CI/CD 파이프라인이나 헤드리스(headless) 환경에서 MCP 서버를 사용할 때 특히 유용합니다.
기존에는 백그라운드에서 동작하는 서브 에이전트가 권한이 필요한 도구를 호출했을 경우, **자동으로 거부(deny)**되었습니다. 앞으로는 메인 세션에 다이얼로그(dialog)로 표시됩니다.
Esc를 누르면 해당 도구만 거부되며, 다른 에이전트 동작에는 영향을 주지 않습니다.
높은 우선순위의 보안 수정 사항이 3건 포함되어 있습니다.
| 수정 내용 | 영향 |
|---|---|
Agent(type)의 deny 규칙이 이름이 지정된 서브 에이전트(sub-agent) spawn 시 적용되지 않음 | 서브 에이전트에 대해 의도한 제한이 적용되지 않았음 |
콜드 스타트(Cold start) 시 --tools가 피처 게이트(feature-gated)된 도구를 통과시킴 | 최초 실행 시에만 제한이 작동하지 않았음 |
| 여러 CLI 세션에서 Chrome 탭 그룹 분리가 적용되지 않음 | 세션 간에 탭이 혼재될 가능성이 있었음 |
이러한 사항들은 업데이트를 통해 자동으로 수정됩니다. 별도의 조치는 필요하지 않으나, 멀티 에이전트(multi-agent) 구성에서 보안 정책을 엄격하게 적용하고 있는 경우에는 동작이 변경되는 점에 주의하십시오.
개발자가 지금 바로 확인해야 할 대응 사항을 정리합니다.
| 변경 사항 | 대응 필요 여부 | 대응 내용 |
|---|---|---|
| bash 자동 응답 | 조건부 | 불필요한 경우 respondToBashCommands: false 설정 |
| MAX_RETRIES 상한 | 조건부 | 무인 운영 시 15 초과로 설정했던 경우, RETRY_WATCHDOG로 이행 |
| MCP login/logout | 불필요 | 필요에 따라 활용 |
| 보안 수정 | 불필요 (자동 적용) | 멀티 에이전트 구성의 동작 변화에 주의 |
Before (v2.1.186 이전)
! npm test
# → 출력은 컨텍스트(context)에 추가될 뿐임
# → Claude는 묵묵히 다음 입력을 기다림
After (v2.1.186 이후 · 기본값)
! npm test
# → Claude가 테스트 결과를 자동으로 읽고, 해석 및 코멘트를 반환함
# 예: "테스트가 3건 실패했습니다. auth.test.ts의 42행을 확인해 주세요."
자동 응답을 비활성화하는 설정
// settings.json
{
"respondToBashCommands": false
...
}
# 브라우저가 있는 환경
claude mcp login my-mcp-server
# → 브라우저가 열리며 인증 페이지가 표시됨
...
Claude Code v2.1.186의 주요 포인트는 다음과 같습니다.
- bash 명령의 자동 응답이 기본값으로 설정됨: 편리해진 반면, 기존 동작을 기대하는 워크플로우는
respondToBashCommands: false로 옵트아웃(opt-out)이 필요함 - MAX_RETRIES 상한이 15로 제한됨: 무인 운영 시 15 초과가 필요한 경우
CLAUDE_CODE_RETRY_WATCHDOG로 이행 - MCP CLI 인증 명령 추가:
claude mcp login/logout을 통해 SSH 환경에서도 인증이 완료됨 - 보안 수정: 서브 에이전트의 deny 규칙 미적용 및 도구 게이트(tool gate) 통과 문제를 수정 (자동 적용)
- 백그라운드 에이전트의 권한 프롬프트: 자동 거부에서 메인 세션 표시로 변경
특히 자동 응답의 동작 변경과 MAX_RETRIES의 상한 설정은 기존 워크플로우에 영향을 미칠 가능성이 있으므로, 업데이트 후 동작 확인을 권장합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기