소개
코파일럿 CLI은(는) 다양한 도구를 사용하여 작업을 완료합니다. 셸 명령을 실행하고, 파일을 읽고 쓰고, 코드베이스를 검색하고, 웹 콘텐츠를 가져오고, 작업을 특수 하위 에이전트에 위임할 수 있습니다.
파일 검색, 파일 읽기 및 읽기 전용 셸 명령 실행과 같은 읽기 전용 작업은 자동으로 허용되지만 파괴적인 셸 명령 실행, 파일 편집 또는 URL 액세스와 같이 시스템을 수정할 수 있는 도구는 Copilot에서 사용하기 전에 명시적 승인이 필요합니다. 예를 들어 셸 명령은 패키지 설치, 파일 삭제, 코드 푸시 또는 네트워크 요청 등 사용자 계정에서 수행할 수 있는 모든 작업을 수행할 수 있으므로 CLI를 사용하지 않아도 됩니다.
CLI를 시작할 때 또는 대화형 세션 중에 도구에 대한 사용 권한을 허용하거나 거부할 수 있습니다. 세션을 시작하기 전에 권한을 부여하지 않은 경우 코파일럿 CLI은 잠재적으로 파괴적인 작업을 수행해야 할 때마다 권한을 묻는 메시지를 표시합니다. 이 도구를 한 번 또는 세션의 나머지 부분에 대해 허용하도록 선택할 수 있습니다.
도구 컨트롤의 레이어
명령줄 옵션에서 도구 권한을 지정할 때 사용할 수 있는 두 가지 컨트롤 계층이 있습니다. 당신은 할 수 있어요:
- AI 모델에 사용할 수 있는 도구의 선택을 제한합니다.
- 특정 도구에 대한 사용 권한을 허용하거나 거부합니다.
AI 모델에 사용할 수 있는 도구 선택 제한
`--available-tools` 및 `--excluded-tools` 옵션은 AI 모델이 알고 있는 도구 집합을 제한하므로 작업을 완료하는 방법을 결정할 때 선택할 수 있습니다.
*
--available-tools 은 지정한 도구 이외의 모든 도구를 사용하지 않도록 설정합니다.
*
--excluded-tools 는 지정된 도구만 사용하지 않도록 설정합니다.
두 옵션을 함께 사용하는 경우 CLI는 지정된 --available-tools 허용 목록을 적용하고 지정한 거부 목록을 --excluded-tools무시합니다.
도구가 사용 가능한 집합에 없는 경우 옵션으로 --allow-tool 지정하더라도 AI 모델은 도구를 전혀 사용할 수 없습니다. 사용 가능한 도구 집합을 지정하지 않는 대화형 세션에서 AI 모델은 거부될 때만 도구를 사용하려고 할 수 있습니다.
--available-tools 및 --excluded-tools 옵션을 사용하면 이러한 방식으로 모델과의 상호 작용을 낭비할 수 없습니다.
예제 사용 사례
프로젝트에서 벤치마킹을 실행하기 위해 CLI 세션을 시작하고 있으며, AI 모델이 웹 검색을 사용하지 않도록 하려고 합니다.
copilot --excluded-tools='web_fetch, web_search'
참고
이 문서에 언급된 이러한 명령줄 및 기타 명령줄 옵션에 대한 구문에 대한 자세한 내용은 GitHub Copilot CLI 명령 참조을 참조하세요.
특정 도구에 대한 사용 권한 허용 또는 거부
`--allow-tool` 및 `--deny-tool` 옵션은 특정 도구 또는 도구 하위 명령에 대한 사용 권한을 허용하거나 거부합니다.
이러한 각 옵션의 값은 쉼표로 구분된 도구 종류 목록으로, 선택적으로 정확한 도구 및 하위 명령 패턴을 지정할 수 있습니다.
도구를 --allow-tool지정하는 경우 AI 모델은 사용 권한을 요청하지 않고 해당 도구를 사용하도록 선택할 수 있습니다. 도구를 --deny-tool사용하여 지정하는 경우 AI 모델은 작업을 완료하는 데 가장 적합한 선택인 경우에도 해당 도구를 전혀 사용할 수 없습니다.
거부 규칙은 설정된 경우에도 --allow-all 항상 허용 규칙보다 우선합니다.
예제
| Option | 영향 |
|---|---|
--allow-tool=shell | 모든 셸 명령을 허용합니다. |
--allow-tool='shell(git commit)' |
`git commit` 명령을 허용합니다. |
| --allow-tool='shell(git:*)' --deny-tool='shell(git push)' |
git 명령을 제외한 모든 git push 명령을 허용합니다. |
| --deny-tool=write | 모든 파일 쓰기 작업을 거부합니다. |
| --allow-tool='read, write(.github/copilot-instructions.md)' | 모든 읽기 작업을 허용하고 특정 파일에 대한 쓰기 작업을 허용합니다. |
| --allow-tool='MyMCP(create_issue), MyMCP(delete_issue)' |
MyMCP MCP 서버의 create_issue 도구와 delete_issue 도구를 허용합니다. |
| --available-tools='bash,edit,view,grep,glob' --allow-tool='shell(git:*)' --deny-tool='shell(git push)' | 제한된 CLI 세션에 대해 두 컨트롤 계층을 결합합니다. Copilot은(는) 코드를 탐색하고, 편집하고, 변경 내용을 커밋할 수 있지만 인터넷에 연결하거나, 임의의 스바겐트를 실행하거나, Git 기록에 푸시할 수 없습니다. |
지원되는 도구 종류에 대한 자세한 내용은 GitHub Copilot CLI 명령 참조을 참조하세요.
허용 옵션
다음 명령줄 옵션은 코파일럿 CLI에게 사용 가능한 모든 도구에 대한 사용 권한을 부여합니다.
-
`--allow-all-tools` — 사용 가능한 도구에 대한 모든 권한. -
`--allow-all` 또는 `--yolo` - CLI를 시작할 때 모든 `--allow-all-tools`, `--allow-all-paths`및 `--allow-all-urls` 옵션을 사용하는 것과 같습니다.대화형 세션 내에서
/allow-all또는/yolo슬래시 명령을 사용하여 세션을 다시 시작하지 않고도 모든 도구를 사용할 수 있습니다.참고
격리된 환경에서만 이러한 옵션을 사용하는 것이 좋습니다. 별칭을 사용하여 코파일럿 CLI를 시작할 때 이러한 옵션을 항상 적용하면 안 됩니다. 이렇게 하면 CLI를 사용할 때마다 Copilot가 명시적인 권한 없이 도구를 사용하게 되어 예기치 않은 결과를 초래할 수 있습니다.
권한 다시 설정
`/reset-allowed-tools` 슬래시 명령은 현재 대화형 세션 중에 부여한 모든 권한을 취소합니다. 이는 프롬프트에 응답하여 부여한 사용 권한과 또는 `/allow-all` 슬래시 명령의 `/yolo` 사용에 동일하게 적용됩니다.
`/reset-allowed-tools`을(를) 사용하면 권한을 기본값으로 복원하거나 코파일럿 CLI을(를) 시작할 때 사용한 명령줄 옵션에 정의된 상태로 복원합니다. 예를 들어 옵션 `--allow-tool='shell(git:*)'`으로 코파일럿 CLI 대화형 세션을 시작한 다음 프롬프트에 응답하여 세션 중에 추가 권한을 허용하고 거부하는 경우 명령을 사용하면 `/reset-allowed-tools` CLI의 사용 권한은 허용되거나 거부된 다른 권한 없이 원래 `--allow-tool='shell(git:*)'` 상태로 돌아갑니다. 세션에서 작업을 계속하면 Copilot에 추가 권한이 필요한 경우 다시 메시지가 표시됩니다.
추가 읽기
-
[AUTOTITLE](/copilot/how-tos/copilot-cli/cli-best-practices#configure-allowed-tools) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference)