티스토리 뷰

반응형

클로드 코드 2.1.85 업데이트
<클로드 코드 2.1.85 업데이트>

2026년 3월 27일 Claude Code 2.1.85가 배포되었습니다. 이번 버전의 가장 눈에 띄는 변화는 훅에 조건부 if 필드가 추가된 것입니다. 권한 규칙 문법으로 훅이 실행될 조건을 지정할 수 있어 불필요한 프로세스 생성을 줄일 수 있습니다. PreToolUse 훅이 AskUserQuestion에 직접 응답할 수 있게 되어 헤드리스 통합이 가능해졌고 Ghostty, Kitty, WezTerm 등 키보드 프로토콜 기반 터미널에서 종료 후 Ctrl+C와 Ctrl+D가 동작하지 않던 문제가 수정되었습니다.

3줄 요약

  • 훅에 if 필드가 추가되어 권한 규칙 문법(예: Bash(git *))으로 훅 실행 조건을 제한할 수 있어 프로세스 생성 오버헤드가 줄어듭니다.
  • PreToolUse 훅이 updatedInputpermissionDecision: "allow"를 반환하여 AskUserQuestion에 자동 응답할 수 있어 헤드리스 자동화를 구성할 수 있습니다.
  • Ghostty, Kitty, WezTerm 등에서 종료 후 터미널이 향상된 키보드 모드에 머물던 문제가 수정되어 Ctrl+C와 Ctrl+D가 정상 동작합니다.

주요 변경사항

훅에 조건부 실행 필드가 추가되었습니다

훅 설정에 if 필드가 추가되었습니다. 권한 규칙과 동일한 문법(예: Bash(git *))을 사용하여 훅이 실행될 조건을 지정할 수 있습니다. 기존에는 모든 도구 호출마다 훅 프로세스가 생성되어 오버헤드가 발생했는데 이제 특정 패턴에 매칭되는 경우에만 훅이 실행됩니다. 예를 들어 Bash(git *) 조건을 걸면 git 명령을 실행할 때만 훅이 동작하고 다른 Bash 명령에서는 프로세스가 생성되지 않습니다.

PreToolUse 훅으로 AskUserQuestion에 자동 응답할 수 있습니다

PreToolUse 훅이 updatedInput과 함께 permissionDecision: "allow"를 반환하면 AskUserQuestion 도구에 직접 응답할 수 있게 되었습니다. Claude Code가 사용자에게 질문을 할 때 훅이 자체 UI나 외부 시스템을 통해 답변을 수집하고 그 결과를 Claude에게 전달할 수 있습니다. CI/CD 파이프라인이나 원격 자동화 환경처럼 터미널 앞에 사람이 없는 헤드리스 통합 시나리오에서 유용합니다.

Kitty 키보드 프로토콜 터미널에서 종료 후 키 입력 문제가 수정되었습니다

Ghostty, Kitty, WezTerm 등 Kitty 키보드 프로토콜을 지원하는 터미널에서 Claude Code를 종료한 뒤 터미널이 향상된 키보드 모드에 머물러 있던 문제가 수정되었습니다. 이 문제가 발생하면 종료 후 Ctrl+C와 Ctrl+D가 정상적으로 동작하지 않아 터미널을 새로 열어야 했습니다. 이제 종료 시 키보드 모드가 올바르게 해제됩니다.

부가 변경사항

MCP

  • MCP 헤더에 CLAUDE_CODE_MCP_SERVER_NAMECLAUDE_CODE_MCP_SERVER_URL 환경 변수가 추가되었습니다. 하나의 헬퍼 스크립트로 여러 MCP 서버를 구분하여 처리할 수 있습니다.
  • MCP OAuth가 RFC 9728 Protected Resource Metadata 검색을 따라 인증 서버를 찾습니다.
  • MCP 단계적 권한 상승(step-up authorization)에서 리프레시 토큰이 존재할 때 실패하던 문제가 수정되었습니다. 서버가 403 insufficient_scope로 추가 권한을 요청하면 재인증 흐름이 올바르게 시작됩니다.

플러그인 및 관리

  • 조직 정책(managed-settings.json)으로 차단된 플러그인은 설치나 활성화가 불가능하며 마켓플레이스 목록에서도 숨겨집니다.
  • /plugin enable/plugin disable이 플러그인의 설치 경로와 설정에 선언된 경로가 다를 때 실패하던 문제가 수정되었습니다.
  • Python Agent SDK에서 type:'sdk' MCP 서버를 --mcp-config로 전달하면 시작 시 누락되던 문제가 수정되었습니다.

딥링크 및 트랜스크립트

  • 딥링크 쿼리(claude-cli://open?q=…)가 최대 5,000자를 지원합니다. 긴 프롬프트가 미리 채워진 경우 "스크롤하여 확인" 경고가 표시됩니다.
  • 예약 작업(/loop, CronCreate)이 실행될 때 트랜스크립트에 타임스탬프 표시가 추가되었습니다.
  • 이미지를 붙여넣을 때 [Image #N] 플레이스홀더 뒤에 공백이 자동으로 추가됩니다.

성능 개선

  • WASM 기반 yoga-layout을 순수 TypeScript 구현으로 교체하여 대용량 트랜스크립트의 스크롤 성능이 개선되었습니다.
  • 대규모 리포지토리에서 @ 멘션 파일 자동완성 성능이 개선되었습니다.
  • 대규모 세션에서 컴팩션이 실행될 때 발생하던 UI 끊김이 줄었습니다.

보안 및 모니터링

  • OpenTelemetry tool_result 이벤트의 tool_parameters 필드가 OTEL_LOG_TOOL_DETAILS=1 환경 변수로 제어됩니다. 기본값은 비활성입니다.
  • PowerShell 위험 명령 감지가 개선되었습니다.
  • deniedMcpServers 설정이 claude.ai MCP 서버를 차단하지 못하던 문제가 수정되었습니다.

버그 수정

  • /compact가 대화가 너무 길어져 압축 요청 자체가 컨텍스트에 맞지 않을 때 "context exceeded"로 실패하던 문제가 수정되었습니다.
  • --worktree가 git이 아닌 리포지토리에서 WorktreeCreate 훅이 실행되기 전에 오류와 함께 종료되던 문제가 수정되었습니다.
  • computer-use 도구의 switch_display가 멀티 모니터 환경에서 "not available in this session"을 반환하던 문제가 수정되었습니다.
  • OTEL_LOGS_EXPORTER, OTEL_METRICS_EXPORTER, OTEL_TRACES_EXPORTERnone으로 설정했을 때 발생하던 크래시가 수정되었습니다.
  • 비네이티브 빌드에서 diff 구문 강조가 동작하지 않던 문제가 수정되었습니다.
  • 원격 세션에서 스트리밍 응답이 중단될 때 발생하던 메모리 누수가 수정되었습니다.
  • 엣지 연결 교체 시 지속적으로 발생하던 ECONNRESET 오류가 재시도 시 새 TCP 연결을 사용하도록 수정되었습니다.
  • 특정 슬래시 명령 실행 후 프롬프트가 큐에 머물러 위쪽 화살표로 복원할 수 없던 문제가 수정되었습니다.
  • SSH나 VS Code 통합 터미널에서 원시 키 시퀀스가 프롬프트에 표시되던 문제가 수정되었습니다.
  • Remote Control 세션 상태가 권한 문제가 해결된 후에도 "Requires Action"에 머물던 문제가 수정되었습니다.
  • Shift+Enter와 Meta+Enter가 줄바꿈 대신 자동완성 제안에 의해 가로채어지던 문제가 수정되었습니다.
  • 스트리밍 중 위로 스크롤할 때 이전 내용이 겹쳐 보이던 문제가 수정되었습니다.

결론

Claude Code 2.1.85는 훅의 조건부 실행(if 필드)이 가장 주목할 만한 변화입니다. 불필요한 훅 프로세스 생성을 줄여 자동화 성능을 개선하고 PreToolUse 훅의 AskUserQuestion 응답 기능으로 헤드리스 통합의 가능성이 넓어졌습니다.

Kitty 키보드 프로토콜 터미널 사용자에게는 종료 후 키 입력 문제 수정이 반가울 것입니다. yoga-layout의 TypeScript 전환으로 대용량 트랜스크립트 스크롤이 빨라졌고 /compact 실패 수정으로 긴 세션 관리가 안정적으로 개선되었습니다.

반응형
댓글
최근에 올라온 글
최근에 달린 댓글