claudekit / updates / claude-code-2-1-247
[ PATCH · ]

Claude Code 2.1.247

`SendFeedback` 도구가 추가되어 세션에서 문제가 생기면 Claude가 피드백 보고서 초안을 작성하고, 사용자가 `/feedback`에서 확인한 뒤 보낼 수 있습니다(`feedbackDrafts` 설정으로 끌 수 있음). Bash 권한 프롬프트에는 auto mode를 안내하는 팁과 키 한 번으로 전환하는 "Yes, and switch to auto mode" 항목이 생겼고, `/claude-api cost-optimize`로 기존 프로젝트의 Claude API 지출을 분석해 캐싱, 토큰 정리, 배치, effort, 모델 선택 순으로 하나씩 측정하며 줄일 수 있습니다. Sonnet 5의 기본 자동 압축 시점이 1M 컨텍스트 전체 기준으로 바뀌어 약 934K가 아니라 약 967K 토큰에서 압축되고, 훅이나 백그라운드 에이전트가 수 MB의 오류 출력을 쏟아내 세션이 "Prompt is too long"으로 멈추던 문제가 수정됐습니다.

공식 발표 →

이 글은 공식 문서를 바탕으로 요약·정리한 내용입니다.

무엇이 바뀌었나?

Claude Code 2.1.247이 2026년 8월 26일 출시됐습니다. 문제가 생겼을 때 그 상황을 그대로 담아 보고할 수 있는 SendFeedback 도구와, API 비용을 실제로 측정하며 줄이는 /claude-api cost-optimize가 추가됐습니다. 세션을 통째로 망가뜨리던 경로(대용량 오류 출력, 모델 404, 컨테이너 재시작)가 정리됐고, 조직 설정과 마켓플레이스 입력 처리도 함께 정리됐습니다.

새 기능

  • SendFeedback 도구

    세션 도중 문제가 생겨도 무엇을 어떻게 보고해야 할지 정리하는 일은 사용자 몫이었습니다. 이제 Claude가 피드백 보고서 초안을 작성하고, 사용자는 /feedback에서 내용을 확인한 뒤 보낼지 결정합니다. 초안 작성이 불필요하면 feedbackDrafts 설정으로 끌 수 있습니다.

  • /claude-api cost-optimize

    Claude API 비용을 줄이려 해도 어디부터 손대야 할지, 바꾼 것이 실제로 효과가 있었는지 확인하기 어려웠습니다. /claude-api cost-optimize는 기존 프로젝트의 Claude API 지출을 분석하고, 캐싱, 토큰 정리, 배치 처리, effort 조정, 모델 선택 같은 비용 요인을 한 번에 하나씩 측정하며 진행합니다.

  • Bash 권한 프롬프트의 auto mode 안내

    auto mode가 있어도 매번 권한 프롬프트를 넘기던 사용자는 그 기능의 존재를 알기 어려웠습니다. 이제 Bash 권한 프롬프트에 auto mode를 안내하는 팁이 표시되고, “Yes, and switch to auto mode” 항목으로 키 한 번에 전환할 수 있습니다.

  • spinnerTipsOverride 확장

    조직이 자체 팁 문구를 넣으려면 기본 팁을 통째로 대체하는 방법밖에 없었습니다. 이제 {id, text, cooldownSessions, priority} 형식의 항목과 tipsFile, label을 지정할 수 있어, 기본 팁과 함께 조직의 팁을 번갈아 보여줄 수 있습니다.

주요 개선

  • /claude-api 스킬의 Admin API 범위 확대

    기본으로 제공되는 /claude-api 스킬이 Admin API를 다루지 않아, 조직 관리 작업은 문서를 따로 찾아야 했습니다. 이제 조직 구성원, 초대, 워크스페이스, API 키, 사용량 한도 리포트, workload identity federation, CMEK까지 다룹니다.

  • 연결에 실패한 MCP 서버를 Claude에게 알림

    Bedrock, Vertex, Foundry 환경과 텔레메트리를 끈 환경에서는 설정한 MCP 서버가 연결에 실패해도 Claude가 그 사실을 알지 못해, 해당 도구가 아예 없다고 판단했습니다. 이제 연결 실패 사실이 Claude에게 전달됩니다.

  • Sonnet 5의 기본 자동 압축 기준을 1M 컨텍스트 전체로 변경

    1M 컨텍스트를 쓰는 세션인데도 자동 압축 기준이 그보다 좁게 잡혀 있었습니다. 이제 1M 컨텍스트 전체를 기준으로 삼아, 약 934K가 아니라 약 967K 토큰에서 자동 압축이 시작됩니다.

  • 세션 간 메시지 기본 접힘

    다른 세션에서 온 메시지가 본문 전체로 펼쳐져 대화 화면을 차지했습니다. 이제 Message from @<보낸 세션>: <첫 줄> 형태의 한 줄 미리보기로 접히고, Ctrl+O로 전체 내용을 펼칠 수 있습니다.

  • 마켓플레이스 입력 처리 강화

    마켓플레이스가 제공하는 이름과 텍스트가 그대로 화면에 출력됐습니다. 이제 제어 문자나 보이지 않는 문자가 들어간 이름은 거부되고, /plugin과 claude plugin 출력에 쓰이는 마켓플레이스 제공 텍스트는 이스케이프 처리됩니다.

  • 마크다운 링크의 터미널 하이퍼링크 제한

    렌더링된 마크다운의 링크는 대상 경로를 가리지 않고 클릭 가능한 하이퍼링크로 만들어졌습니다. 이제 네트워크 경로나 자동 마운트 경로를 가리키는 링크, 제어 문자가 들어간 링크, 보이지 않는 문자로 시작하는 링크는 일반 텍스트로 표시됩니다.

  • 프롬프트 하단 PR 배지의 재확인 줄이기

    터미널 창을 다시 활성화할 때마다 PR 배지가 GitHub를 다시 조회했습니다. 이제 마지막 확인이 1분 이내면 재조회를 건너뜁니다.

  • 조직 환경의 로그인, 분석 처리 정리

    관리형 설정이 게이트웨이 로그인을 강제하거나 커스텀 OAuth 배포를 지정한 환경에서 분석 전송은 로그인 이후에야 꺼졌고, 게이트웨이 로그인 요청은 어떤 클라이언트가 보낸 것인지 구분되지 않았습니다. 이제 분석은 시작 시점부터 꺼지고, Claude apps gateway 로그인 요청은 surface=claude_code 파라미터와 claude-code/<version> User-Agent로 Claude Code임을 밝힙니다.

주요 버그 수정

세션 안정성

  • 훅이나 백그라운드 에이전트가 수 MB 분량의 오류 출력을 내보내면 대화가 넘쳐 세션이 “Prompt is too long”에서 멈추던 문제 수정.
  • 훅이나 백그라운드 작업의 출력 파일을 기록할 수 없을 때 메모리가 제한 없이 늘던 문제 수정. 이제 출력이 어디서 유실됐는지 파일에 기록됩니다.
  • 서브에이전트가 첫 호출에서 모델 404를 만나면 그대로 종료되던 문제 수정. 이제 세션의 대체 모델 순서를 따르고, 상위 에이전트로 전달되는 오류에 오류 유형, 상태 코드, 요청 ID, 모델이 함께 담깁니다.
  • --agent로 시작한 세션에서 /compact와 “Summarize from here”가 그 대화의 시스템 프롬프트가 아니라 기본 시스템 프롬프트로 요약하던 문제 수정.
  • 터미널 호스트 프로세스가 죽은 뒤 claude agents에서 백그라운드 세션이 “opening…” 상태로 계속 남아 있던 문제 수정. 이제 몇 초 안에 이유와 함께 실패로 표시되고, Enter로 다시 시작할 수 있습니다.
  • 포그라운드에서 넘어온 셸 명령이 백그라운드 세션에서 끝날 때 내부 오류를 기록하거나 [exited with code -1]처럼 잘못된 줄을 표시하던 문제 수정.

입력과 터미널

  • 방향키를 빠르게 누른 뒤 Enter를 치면 이동한 행이 아니라 그 위 행이 선택되던 문제 수정. 히스토리 검색, /config, /mcp, /skills, 백그라운드 작업 목록, /model에서 발생했습니다.
  • kitty 프로토콜 터미널에서 라틴 문자가 아닌 키보드 배열(예: 키릴 문자)일 때 Ctrl 단축키가 동작하지 않던 문제 수정.
  • 마우스 이벤트 신호가 이스케이프 접두사 직후에 나뉘어 읽히면 <35;150;7M 같은 문자열이 프롬프트에 입력되던 문제 수정.

설정과 플러그인

  • Bash 샌드박스의 명령 종료 후 정리 작업이 dotfile 관리 도구(nix, home-manager, stow)로 만든 ~/.claude/settings.json 심볼릭 링크를 삭제하던 문제 수정. 링크 대상이 샌드박스의 쓰기 가능 영역 밖을 가리킬 때 발생했습니다.
  • /terminal-setup이 Zed의 keymap.json에 키 바인딩을 합치지 않고 파일 전체를 덮어쓰던 문제 수정.
  • 세션 레지스트리를 갱신하지 못했는데도 /rename이 성공한 것처럼 조용히 끝나던 문제 수정. 이제 다른 세션에는 이전 이름이 남아 있을 수 있다고 알려줍니다.
  • 버전을 지정하지 않은 마켓플레이스 플러그인을 다른 범위로 다시 설치하면 사용 중인 캐시 디렉토리가 삭제 후 재생성되던 문제 수정. 그 플러그인을 쓰던 세션이 중단될 수 있었습니다.

원격과 클라우드 세션

  • SSH 접속에서 /install-github-app의 복사 단축키가 실제 결과와 무관하게 성공했다고 표시되던 문제 수정. 이제 어떤 방식으로 로그인 URL을 복사했는지 알려주고, 브라우저를 열 수 없는 환경에서는 URL이 즉시 표시됩니다.
  • /remote-control로 시작한 Remote Control 세션이 작업 트리의 변경 내용을 연결된 클라이언트에 보고하지 않던 문제 수정.
  • 자체 호스팅 러너가 Claude Code가 시작되기도 전에 세션 상태를 running으로 보고하던 문제 수정. 이 때문에 Claude 데스크톱 앱에서 “Claude is waiting for your input” 알림이 미리 뜰 수 있었습니다.
  • 관리형 설정이 Claude apps gateway 로그인을 지정했는데 Anthropic 엔드포인트에 접근할 수 없으면 첫 실행 설정이 “Unable to connect to Anthropic services”로 종료되던 문제 수정.
  • 메시지를 보낸 직후 권한 모드를 바꾸면 클라우드 세션(웹, 데스크톱, 모바일 앱의 Claude Code)이 이전 모드를 계속 보여주던 문제 수정.
  • 백그라운드 에이전트, 셸, 모니터가 실행 중인 상태에서 턴 사이에 세션 컨테이너가 재시작되면 클라우드 세션이 아무 반응 없이 조용해지던 문제 수정. 이제 재개된 세션이 유실된 작업을 보고합니다.

알아두면 좋은 점

  • SendFeedback은 초안까지만 만듭니다 — Claude가 피드백 보고서를 작성해도 전송은 사용자가 /feedback에서 확인한 뒤 결정합니다. 이 동작이 불필요하면 feedbackDrafts 설정으로 끌 수 있습니다.
  • Sonnet 5의 1M 컨텍스트 자동 압축 시점이 뒤로 밀렸습니다 — 기본 자동 압축 기준이 1M 컨텍스트 전체가 되어, 실제 압축 시점이 약 934K에서 약 967K 토큰으로 뒤로 밀립니다.
  • 관리형 설정을 읽을 수 없으면 시작 단계에서 종료됩니다 — 조직 로그인 강제 설정이 적용된 환경에서, 관리자의 관리형 설정을 읽지 못하면 호스트가 제공한 설정이나 사용자별 Windows 레지스트리 설정이 있어도 실행이 중단됩니다.
  • 세션 간 메시지는 기본으로 접혀 표시됩니다 — 다른 세션에서 온 메시지는 한 줄 미리보기로 나타나고, 전체 내용은 Ctrl+O로 확인합니다.
  • 마크다운 링크 일부는 클릭할 수 없게 됩니다 — 네트워크 경로나 자동 마운트 경로를 가리키거나, 제어 문자, 보이지 않는 문자가 들어간 링크는 일반 텍스트로 표시됩니다.
  • spinnerTipsOverride 확장은 조직 배포용입니다 — 개인 설정이라기보다, 조직이 기본 팁과 함께 자체 팁을 번갈아 노출하기 위한 설정입니다.