대화형 모드로 Copilot CLI를 실행하는 것 외에도, 대화형 모드에 들어가지 않고 단일 명령어로 CLI에 직접 프롬프트를 전달할 수 있습니다. 이렇게 하면 스크립트, CI/CD 파이프라인 및 자동화 워크플로에서 프로그래밍 방식으로 Copilot를 사용할 수 있습니다. 자세한 내용은 GitHub Copilot CLI를 프로그래밍 방식으로 실행하기을(를) 참조하세요.
이 문서에서는 프로그래밍 방식으로 Copilot CLI를 실행할 때 특히 관련된 명령줄 옵션 및 환경 변수에 대해 설명합니다.
사용 가능한 옵션의 전체 목록을 보려면 GitHub Copilot CLI 명령 참조 을 참조하거나 터미널에서 다음 명령을 입력합니다.
copilot help
copilot help
명령줄 옵션
Copilot CLI을(를) 프로그래밍 방식으로 실행할 때 특히 유용한 여러 명령줄 옵션이 있습니다.
| Option | 설명 |
|---|---|
-p PROMPT | 비대화형 모드에서 프롬프트를 실행합니다. CLI는 프롬프트를 실행하고 완료되면 종료됩니다. |
-s | 통계 및 장식을 표시하지 않으며 에이전트의 응답만 출력합니다. 스크립트의 출력 파이핑에 적합합니다. |
--add-dir=DIRECTORY | 허용 경로 목록에 디렉터리를 추가합니다. 여러 디렉터리를 추가하는 데 여러 번 사용할 수 있습니다. 에이전트가 현재 작업 디렉터리 외부에서 읽기/쓰기가 필요한 경우에 유용합니다. |
--agent=AGENT | 사용할 사용자 지정 에이전트을 지정하세요. |
`--allow-all`(또는 `--yolo`) | CLI에 모든 권한을 허용합니다.
`--allow-all-tools --allow-all-paths --allow-all-urls`와 동등합니다. |
| --allow-all-paths | 파일 경로 확인을 완전히 사용하지 않도록 설정합니다. 경로 제한이 필요하지 않은 경우에 대한 보다 간단한 대안 --add-dir 입니다. |
| --allow-all-tools | 각 도구에 대한 명시적 권한 없이 모든 도구를 실행할 수 있도록 허용합니다. |
| --allow-all-urls | 각 URL에 대한 명시적 권한 없이 모든 URL에 대한 액세스를 허용합니다. |
| --allow-tool=TOOL ... | 특정 도구에 대한 사용 권한을 선택적으로 부여합니다. 여러 도구의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. |
| --allow-url=URL ... | 에이전트가 특정 URL 또는 도메인을 페치하도록 허용합니다. 워크플로에서 알려진 엔드포인트에 대한 웹 액세스가 필요한 경우에 유용합니다. 여러 URL의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. |
| --deny-tool=TOOL ... | 특정 도구를 거부합니다. 잠긴 워크플로에서 에이전트가 수행할 수 있는 작업을 제한하는 데 유용합니다. 여러 도구의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. |
| --model=MODEL | AI 모델(예: gpt-5.2 또는 claude-sonnet-4.6)을 선택합니다. 재현 가능한 워크플로에서 모델을 고정하는 데 유용합니다. 아래 모델 선택을 참조하세요. |
| --no-ask-user | 에이전트가 일시 중지하여 추가 사용자 입력을 검색하지 못하도록 합니다. |
| --secret-env-vars=VAR ... | 출력에서 값을 수정하려는 환경 변수입니다. 여러 변수의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. 비밀이 로그에 노출되는 것을 방지하는 데 필수적입니다.
GITHUB_TOKEN 및 COPILOT_GITHUB_TOKEN 환경 변수의 값은 기본적으로 가려집니다. |
| --share=PATH | 비대화형 완료 후 세션 대본을 markdown 파일로 내보냅니다(기본값은 ./copilot-session-<ID>.md). 에이전트가 한 일을 감사하거나 보관하는 데 유용합니다. 세션 성적 증명서에는 중요한 정보가 포함될 수 있습니다. |
| --share-gist | 완료 후 세션 대본을 비밀 GitHub 요점으로 게시합니다. CI에서 결과를 공유하는 데 편리합니다. 세션 성적 증명서에는 중요한 정보가 포함될 수 있습니다. |
옵션에 --allow-tool 대한 도구
옵션을 사용하여 다양한 종류의 도구를 --allow-tool 지정할 수 있습니다.
| 도구 종류 | 제어하는 내용 |
|---|---|
| 셸 | 셸 명령을 실행합니다. |
| write | 파일 만들기 또는 수정 |
| read | 파일 또는 디렉터리를 읽습니다. |
| url | URL에서 콘텐츠를 페치합니다. |
| 메모리 | 에이전트의 영구 메모리에 새 팩트 저장 기존 메모리 사용에 영향이 없습니다. |
[AUTOTITLE](/copilot/concepts/agents/copilot-memory)을(를) 참조하세요. |
| MCP-서버 | 특정 MCP 서버에서 도구 호출 서버의 구성된 이름을 식별자로 사용합니다(예: github).
GitHub Copilot CLI에 MCP 서버 추가하기을(를) 참조하세요. |
도구 필터
`shell`, `write`및 `url`MCP 서버 도구 종류를 사용하면 필터를 괄호로 지정하여 허용되는 특정 도구를 제어할 수 있습니다.
| 도구 종류 | 예시 | 예제에 대한 설명 |
|---|
**셸** | `shell(git:*)` | 모든 Git 하위 명령(`git push`, `git status`등)을 허용합니다. |
| | shell(npm test) | 정확한 명령 npm test을(를) 허용합니다. |
|
쓰다 | write(.github/copilot-instructions.md) | CLI가 이 특정 경로에 쓸 수 있도록 허용합니다. |
| | write(README.md) | 경로가 .로 끝나는 /README.md모든 파일에 CLI가 쓰도록 허용합니다. |
|
url | url(github.com) | CLI가 github.com HTTPS URL에 액세스할 수 있도록 허용합니다. |
| | url(http://localhost:3000) | CLI가 명시적 프로토콜 및 포트를 사용하여 로컬 개발 서버에 액세스할 수 있도록 허용합니다. |
| | url(https://*.github.com) | CLI가 GitHub 하위 도메인(예: api.github.com)에 액세스할 수 있도록 허용합니다. |
| | url(https://docs.github.com/copilot/*) | 이 사이트에서 Copilot 설명서에 액세스할 수 있도록 허용합니다. |
|
MCP-SERVER | github(create_issue) | MCP 서버의 github에서 create_issue 도구만 허용합니다. |
참고 항목
와일드카드는 shell이 지정된 도구의 모든 하위 명령어와 일치하도록 지원되며, 호스트 이름의 시작에 있는 url이 모든 하위 도메인과, 경로 끝에 있는 것은 모든 경로 접미사와 일치하도록 지원됩니다. 이는 이전 표에 나와 있는 바와 같습니다.
환경 변수
환경 변수를 사용하여 프로그래밍 방식으로 실행할 때 CLI 동작의 다양한 측면을 구성할 수 있습니다. 이는 명령줄에서 특정 옵션을 직접 지정하지 않으려는 CI/CD 워크플로 또는 기타 자동화된 환경에서 구성을 설정하는 데 특히 유용합니다.
| 변수 | 설명 |
|---|---|
COPILOT_ALLOW_ALL | 전체 사용 권한으로 true 설정 |
COPILOT_MODEL | 모델 설정(예: gpt-5.2``claude-sonnet-4.5 |
COPILOT_HOME | CLI 구성 파일의 디렉터리 설정(~/.copilot 기본적으로) |
COPILOT_GITHUB_TOKEN | 인증 토큰(가장 높은 우선 순위) |
GH_TOKEN | 인증 토큰(두 번째 우선 순위) |
GITHUB_TOKEN | 인증 토큰(세 번째 우선 순위) |
Copilot CLI에 대한 환경 변수의 자세한 내용을 보려면 터미널에서 copilot help environment 명령을 사용합니다.
모델 선택
비대화형 모드에서 Copilot CLI에 프롬프트를 보내면, -s 또는 --silent 옵션을 사용하지 않는 경우에는 CLI가 응답을 생성하는 데 사용하는 모델이 응답 내에 표시됩니다.
이 옵션을 사용하여 CLI에서 --model 사용해야 하는 AI 모델을 지정할 수 있습니다. 이를 통해 프롬프트에 가장 적합한 모델을 선택하고 속도, 비용 및 기능과 같은 요인을 분산할 수 있습니다.
예를 들어 일부 코드를 설명하거나 요약을 생성하는 등의 간단한 작업의 경우 Claude Haiku 모델과 같은 빠르고 저렴한 비용 모델을 선택할 수 있습니다.
copilot -p "What does this project do?" -s --model claude-haiku-4.5
copilot -p "What does this project do?" -s --model claude-haiku-4.5
코드 디버깅 또는 리팩터링과 같은 심층적인 추론이 필요한 더 복잡한 작업의 경우 GPT Codex 모델과 같은 보다 강력한 모델을 선택할 수 있습니다.
copilot -p "Fix the race condition in the worker pool" \ --model gpt-5.3-codex \ --allow-tool='write, shell'
copilot -p "Fix the race condition in the worker pool" \
--model gpt-5.3-codex \
--allow-tool='write, shell'
참고 항목
터미널에 입력 --model 할 때 옵션 설명 copilot help 에서 사용 가능한 모든 모델에 대한 모델 문자열을 찾을 수 있습니다.
또는 환경 변수를 COPILOT_MODEL 설정하여 셸 세션 기간 동안 모델을 지정할 수 있습니다.
셸 세션에서 모델 선택을 유지하려면 CLI 구성 파일에서 키를 설정할 model 수 있습니다. 이 파일은 ~/.copilot/config.json에 위치해 있습니다 (또는 COPILOT_HOME 환경 변수를 설정한 경우 $COPILOT_HOME/.copilot/config.json에 위치해 있습니다). 또한 일부 모델을 사용하면 추론 작업 수준을 설정하여 모델이 응답하기 전에 생각하는 데 소요되는 시간을 제어할 수 있습니다.
{
"model": "gpt-5.3-codex",
"reasoning_effort": "low"
}
{
"model": "gpt-5.3-codex",
"reasoning_effort": "low"
}
팁
구성 파일 /model 에서 모델을 영구적으로 설정하는 가장 쉬운 방법은 대화형 세션에서 슬래시 명령을 사용하는 것입니다. 이 명령을 사용하여 선택한 항목은 구성 파일에 기록됩니다.
모델 우선 순위
지정된 프롬프트에 사용할 모델을 결정할 때 CLI는 다음 우선 순위(가장 높음에서 가장 낮은 수준)로 모델 사양을 확인합니다.
- 사용자 지정 에이전트가 사용되는 위치: 사용자 지정 에이전트 정의에 지정된 모델(있는 경우)입니다.
-
`--model` 명령줄 옵션입니다. -
`COPILOT_MODEL` 환경 변수입니다. -
`model` 구성 파일(`~/.copilot/config.json`또는`$COPILOT_HOME/.copilot/config.json`)의 키입니다. - CLI의 기본 모델입니다.
사용자 지정 에이전트 사용
이 옵션을 사용하여 특수 에이전트에 작업을 위임할 --agent 수 있습니다. 자세한 내용은 GitHub Copilot CLI를 위한 사용자 지정 에이전트 생성 및 사용을(를) 참조하세요.
이 예제에서는 에이전트가 code-review 사용됩니다. 이렇게 하려면 이 이름으로 사용자 지정 에이전트를 만들어야 합니다.
copilot -p "Review the latest commit" \
--allow-tool='shell' \
--agent code-review
추가 읽기
-
[AUTOTITLE](/copilot/how-tos/copilot-cli) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-plugin-reference)