
Claude Code v2.1.178〜v2.1.179|Tool(param:value)를 통한 파라미터 단위의 권한 제어|매일 Changelog
요약
Claude Code v2.1.178 및 v2.1.179 업데이트를 통해 툴 파라미터 단위의 세밀한 권한 제어가 가능해졌습니다. 또한 서브 에이전트 기동 전 분류 기능과 연결 끊김 시 부분 응답 유지 기능이 추가되었습니다.
핵심 포인트
- Tool(param:value) 형식을 통한 파라미터 단위 권한 제어 지원
- 와일드카드(*)를 사용한 유연한 권한 설정 가능
- auto 모드에서 서브 에이전트 기동 전 분류기 평가 도입
- 연결 끊김 시에도 생성된 부분 응답을 유지하도록 개선
- 중첩된 설정 구조에서 작업 디렉토리 인접 설정 우선 적용
v2.1.178에서 permission 규칙이 Tool(param:value) 형식을 지원하게 되었다. 지금까지는 툴(Tool) 단위로만 허가/거부를 할 수 있었으나, 툴에 전달되는 입력 파라미터(parameter)의 값까지 확인하여 차단할 수 있게 되었다. settings.json의 permissions를 상세하게 작성할수록 동작이 달라진다.
Tool(param:value)로 파라미터 단위의 권한 제어Agent(model:opus)와 같이 입력값을 보고 허가/거부 가능.*와일드카드(wildcard)도 사용 가능 (v2.1.178)- auto 모드가 서브 에이전트(sub-agent) 기동 전에 분류 — 기동 전에 분류기(classifier)가 평가하여, 차단 대상인 액션(action)을 통과시키지 않음 (v2.1.178)
- 중첩된(nested) 구조 — 작업 디렉토리에 가장 가까운 agent / workflow / output-style이 충돌 시 우선함 (v2.1.178).
.claude는 가까운 정의가 우선 - 연결 끊김 시 부분 응답 유지 — 도중에 끊겨도 생에러(raw error)로 처리하지 않고 응답을 남김. 스피너(spinner)의 running tool 고착 문제도 해결 (v2.1.179)
- compaction 적용 — overload나 모델 불가 시 폴백 모델(fallback model) 연쇄로 떨어짐 (v2.1.178).
--fallback-model을 존중 - Linux 샌드박스(sandbox)의 glob 비대화 수정 — 거대 디렉토리에 대한
denyRead/allowRead로 인해 Bash 툴 기술이 팽창하여 세션이 불가능했던 문제 (v2.1.179)
대상 독자: settings.json의 permissions에서 allow / deny를 상세하게 작성하고 있는 사람.
툴 이름뿐만 아니라, 툴에 전달되는 입력 파라미터의 값으로 허가/거부를 할 수 있게 되었다. v2.1.178에서 추가된 Tool(param:value) 구문이 그것이다.
공식에서 제시하는 예시는 Agent(model:opus)이다. Opus를 사용하는 서브 에이전트의 기동만을 차단하는 작성 방식이다. 값에는 * 와일드카드를 사용할 수 있다.
{
"permissions": {
"deny": ["Agent(model:opus)"]
...
단, changelog에서 언급하고 있는 것은 구문의 추가까지이다. 대응하는 파라미터 목록이나 매칭 사양은 원문에 없다. *를 포함한 지정은 동작을 확인한 후 실제 규칙에 적용해 주세요.
스트리밍 중에 연결이 끊기면, 그때까지의 부분 응답이 생에러로 대체되어 사라졌었다. 긴 생성 도중에 끊기면 출력을 통째로 잃게 된다. v2.1.179에서 이 부분이 수정되어, 부분 응답이 그대로 남게 되었다.
이와 함께, 스피너가 running tool 상태로 멈춰버리는 문제도 해결되었다. 툴 실행 도중에 끊겨도 진행 표시가 멈추지 않게 되었다.
auto 모드에서, 서브 에이전트의 기동을 분류기가 기동 전에 평가하게 되었다 (v2.1.178). 이전에는 서브 에이전트를 경유할 경우 차단 대상인 액션을 리뷰 없이 요청할 수 있는 틈이 있었으나, 그 경로가 차단되었다.
permission을 엄격하게 운용하고 있다면, 서브 에이전트에서 발생하는 조작도 auto 모드의 판정 대상에 포함된다. 의도치 않게 동작이 멈추는 케이스가 발생하면 규칙을 재검토해 주세요.
| 버전 | 카테고리 | 변경 사항 | 개요 |
|---|---|---|---|
| v2.1.178 | 스킬 (Skill) | 중첩된 .claude/skills 로드 | 작업 디렉토리 하위의 스킬도 로드하며, 이름 충돌 시 <dir>:<name> 형식으로 둘 다 유지 |
| v2.1.178 | 설정 해결 (Config Resolution) | 중첩된 .claude 우선순위 | 작업 디렉토리에 가장 가까운 agent / workflow / output-style이 충돌 시 우선함 |
| v2.1.178 | 워크플로 (workflow) | 키워드 실행 엄격화 | run a workflow나 workflow:와 같은 명시적 문구로만 실행. 보라색 쉬머(shimmer)로 강조 |
| v2.1.178 | /bug | 설명 필수화 | 설명 없이는 전송 불가. 모델의 거부 텍스트를 issue 제목으로 사용하지 않음 |
| v2.1.178 | MCP | 서브 에이전트 disallowedTools 수정 | mcp__server / mcp__* 등 서버 단위 지정이 무시되던 문제 |
| v2.1.178 | 인증 (Auth) | 리프레시 후의 auth 에러 수정 | 세션 외에서 자격 증명을 업데이트해도 오래된 캐시 설정으로 인해 실패가 지속되던 문제 |
| v2.1.179 | UI | WSL2 마우스 휠 스크롤 수정 | Windows Terminal / VS Code 상에서 작동하지 않던 문제 (2.1.172의 리그레션) |
| v2.1.179 | 서브 에이전트 | Ctrl+O로 트랜스크립트(Transcript) 표시 | 서브 에이전트 열람 중에 Ctrl+O가 작동하지 않던 문제 |
v2.1.178의 핵심은 Tool(param:value)에 의한 파라미터 단위의 권한 제어입니다. 서브 에이전트의 모델 지정까지 깊이 있게 규칙을 작성할 수 있습니다. v2.1.178은 권한 관련 보안 강화가 중심이며, v2.1.179는 연결 끊김 시의 응답 유지 등을 포함한 버그 수정이 중심입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기