settings.json 이해하기 : 스킬 권한과 동작 설정 마스터하기

목차

    settings.json 이해하기 : 스킬 권한과 동작 설정 마스터하기

    스킬이 특정 명령어를 실행해야 한다면 어떻게 해야 할까요?

    기본적으로 Claude Code는 안전을 위해 많은 동작에 사용자 확인을 요청합니다. 하지만 자주 쓰는 명령이라면 매번 확인하기 번거롭죠.

    이 글에서는 settings.json으로 스킬의 권한과 동작을 설정하는 방법을 알아봅니다.

    settings.json이란?

    🎭 왜왜씨와 딱딱씨의 대화
    🤔
    왜왜씨

    스킬에서 npm install을 실행하려는데 매번 허용하냐고 물어봐요.

    🎯
    딱딱씨

    보안을 위해 그래. 하지만 settings.json에 "이 명령은 항상 허용"이라고 설정하면 안 물어봐.

    🤔
    왜왜씨

    settings.json은 어디에 있어요?

    🎯
    딱딱씨

    두 곳에 있을 수 있어.
    전역: ~/.claude/settings.json
    프로젝트: .claude/settings.json

    settings.json 역할

    ① 명령어 허용 목록 - 확인 없이 실행할 명령
    ② MCP 서버 설정 - 외부 도구 연결 설정
    ③ 기타 동작 설정 - Claude Code 동작 커스터마이징

    allowedCommands 설정

    가장 많이 사용하는 설정입니다. 특정 명령어를 자동 허용합니다.

    위치: ~/.claude/settings.json 또는 .claude/settings.json

    기본 구조

    {
      "permissions": {
        "allowedCommands": [
          "npm install",
          "npm run",
          "git status",
          "git diff"
        ]
      }
    }

    💡 자주 허용하는 명령어

    • npm install - 패키지 설치
    • npm run - npm 스크립트 실행
    • git status - Git 상태 확인
    • git diff - 변경 내용 확인
    • python - Python 스크립트 실행
    • pytest - 테스트 실행
    🎯 딱딱씨의 팁

    명령어 앞부분만 적으면 해당 명령으로 시작하는 모든 것이 허용됩니다. npm run을 허용하면 npm run build, npm run test 모두 OK!

    전역 vs 프로젝트 설정

    구분 전역 프로젝트
    위치 ~/.claude/settings.json .claude/settings.json
    적용 범위 모든 프로젝트 해당 프로젝트만
    Git 공유 공유 안 됨 팀과 공유 가능
    우선순위 낮음 높음 (병합)
    🎭 왜왜씨와 딱딱씨의 대화
    🤔
    왜왜씨

    전역이랑 프로젝트 둘 다 있으면 어떻게 돼요?

    🎯
    딱딱씨

    병합돼! 전역에서 npm을 허용하고, 프로젝트에서 docker를 허용하면 둘 다 허용되는 거야.

    보안 주의사항

    ⚠️ 주의: 허용 목록에 추가하면 확인 없이 실행됩니다.
    위험한 명령은 절대 허용하지 마세요!

    ❌ 허용하면 안 되는 명령어

    • rm -rf - 파일 삭제 (복구 불가)
    • sudo - 관리자 권한 실행
    • curl | bash - 외부 스크립트 실행
    • chmod 777 - 권한 변경

    ✅ 허용해도 안전한 명령어

    • npm install - 패키지 설치 (package.json 기반)
    • git status - 읽기 전용 Git 명령
    • ls, cat - 읽기 전용 명령
    • npm run test - 테스트 실행

    완성된 settings.json 예시

    {
      "permissions": {
        "allowedCommands": [
          "npm install",
          "npm run",
          "npm test",
          "npx",
          "git status",
          "git diff",
          "git log",
          "python",
          "pytest"
        ]
      }
    }
    🎯 딱딱씨의 팁

    처음에는 최소한만 허용하고, 필요할 때마다 하나씩 추가하세요. 한꺼번에 많이 허용하면 나중에 뭘 허용했는지 헷갈립니다!

    핵심 정리

    settings.json = Claude Code 동작 설정 파일
    allowedCommands = 확인 없이 실행할 명령 목록
    전역 설정 = 모든 프로젝트에 적용
    프로젝트 설정 = 해당 프로젝트에만 적용
    보안 = 위험한 명령은 허용 금지!

    다음 글 예고

    👉 Hooks 동작 원리 : 이벤트 기반 자동화 트리거 설정하기


    적절한 설정으로 편리함과 보안을 모두 챙기세요!
    settings.json을 현명하게 활용하세요! ⚙️

    댓글

    이 블로그의 인기 게시물

    n8n으로 업무 자동화 시작하기 : 왜 필요하고 어떻게 활용할까?

    n8n 데이터 처리 노드 : Set, Split, Merge 완벽 정리

    n8n 트리거 노드 : 3가지 유형으로 자동화 시작하기