Skip to main content

GitHub Copilot CLI 명령 참조

Copilot CLI을(를) 효과적으로 사용하는 데 도움이 되는 명령어 및 단축키를 찾습니다.

명령줄 명령어

CommandPurpose
copilot대화형 사용자 인터페이스를 시작합니다.
copilot help [topic]도움말 정보를 표시합니다. 도움말 항목에는 다음이 포함됩니다: config, commands, environment, logging, 및 permissions.
copilot init이 리포지토리에 대한 Copilot 사용자 지정 지침을 초기화합니다.
copilot update최신 버전을 다운로드하고 설치합니다.
copilot version버전 정보를 표시하고 업데이트를 확인합니다.
copilot loginOAuth 디바이스 플로우를 사용하여 Copilot로 인증합니다.
          `--host HOST`를 허용하여 GitHub 호스트 URL(기본값: `https://github.com`)을 지정합니다. |

| copilot logout | GitHub에서 로그아웃하고 저장된 자격 증명을 제거합니다. | | copilot plugin | 플러그 인 및 플러그 인 마켓플레이스를 관리합니다. |

대화형 인터페이스 내 전역 단축키

ShortcutPurpose
@ FILENAME컨텍스트에 파일 내용을 포함합니다.
          <kbd>Ctrl</kbd>+<kbd>그런 다음 X</kbd>`/`  | 프롬프트 입력을 시작한 후에는 프롬프트를 다시 입력하지 않고도 모델을 변경하려는 경우 슬래시 명령을 실행할 수 있습니다. |

| Esc | 현재 작업을 취소합니다. | | ! COMMAND | Copilot을(를) 우회하여 로컬 셸에서 명령을 실행합니다. | | Ctrl 키+C | 작업 취소/입력 지우기 종료하려면 두 번 누릅니다. | | Ctrl+D | 종료. | | Ctrl+L | 화면을 지웁다. | | Shift+ | 표준, 계획 및 autopilot 모드 간을 순환합니다. |

대화형 인터페이스의 타임라인 바로 가기

ShortcutPurpose
Ctrl+o프롬프트에 입력된 내용이 없더라도, Copilot의 응답 시간표에서 최근 항목을 확장하여 더 많은 세부 정보를 표시합니다.
Ctrl+e프롬프트 입력에 아무것도 없을 때, Copilot의 응답 타임라인의 모든 항목이 확장됩니다.
Ctrl+t응답에서 추론 표시를 확장/축소합니다.
ShortcutPurpose
          <kbd>Ctrl</kbd>+<kbd>A</kbd>        | 입력할 때 줄의 시작 부분으로 이동합니다. |

| Ctrl 키+B | 이전 문자로 이동합니다. | | Ctrl+전자 | 입력할 때 줄의 끝으로 이동합니다. | | Ctrl 키+F | 다음 문자로 이동합니다. | | Ctrl 키+G | 외부 편집기에서 프롬프트를 편집합니다. | | Ctrl 키+H | 이전 문자를 삭제합니다. | | Ctrl+K(K) | 커서에서 줄 끝까지 삭제합니다. 커서가 줄 끝에 있으면 줄 바꿈을 삭제합니다. | | Ctrl+U | 커서부터 줄의 시작 부분까지 삭제합니다. | | Ctrl+W | 이전 단어를 삭제합니다. | | | 현재 줄의 시작으로 이동합니다. | | | 현재 줄의 끝으로 이동합니다. | | Ctrl 키+ | 텍스트의 시작 부분으로 이동합니다. | | Ctrl 키+ | 텍스트의 끝으로 이동합니다. | | 메타+/ | 커서를 한 단어씩 이동합니다. | | / | 명령 기록을 탐색합니다. |

대화형 인터페이스의 슬래시 명령

CommandPurpose
/add-dir PATH파일 액세스를 위해 허용된 목록에 디렉터리를 추가합니다.
/agent사용 가능한 에이전트(있는 경우)를 찾아 선택합니다.
          `/allow-all`, `/yolo`                               | 모든 권한(도구, 경로 및 URL)을 사용하도록 설정합니다. |

| /clear, /new | 대화 기록을 지웁다. | | /compact | 컨텍스트 창 사용량을 줄이기 위해 대화 기록을 요약합니다. | | /context | 컨텍스트 창 토큰 사용 및 시각화를 표시합니다. | | /cwd, /cd [PATH] | 작업 디렉터리를 변경하거나 현재 디렉터리를 표시합니다. | | /delegate [PROMPT] | AI 생성 끌어오기 요청을 사용하여 원격 리포지토리에 변경 내용을 위임합니다. | | /diff | 현재 디렉터리의 변경 내용을 검토합니다. | | /exit, /quit | CLI를 종료합니다. | | /experimental [on\|off] | 실험적 기능을 설정/해제합니다. | | /feedback | CLI에 대한 피드백을 제공합니다. | | /fleet [PROMPT] | 태스크 부분의 병렬 스바겐트 실행을 사용하도록 설정합니다. `/fleet` 명령어를 사용하여 작업을 병렬로 실행을(를) 참조하세요. | | /help | 대화형 명령에 대한 도움말을 표시합니다. | | /ide | IDE 작업 영역에 연결합니다. | | /init | 이 리포지토리에 대한 Copilot 사용자 지정 지침 및 에이전트 기능을 초기화합니다. | | /list-dirs | 파일 액세스가 허용된 모든 디렉터리를 표시합니다. | | /login | Copilot에 로그인하세요. | | /logout | Copilot에서 로그아웃합니다. | | /lsp [show\|test\|reload\|help] [SERVER-NAME] | 언어 서버 구성을 관리합니다. | | /mcp [show\|add\|edit\|delete\|disable\|enable] [SERVER-NAME] | MCP 서버 구성을 관리합니다. | | /model, /models [MODEL] | 사용하려는 AI 모델을 선택합니다. | | /plan [PROMPT] | 코딩하기 전에 구현 계획을 만듭니다. | | /plugin [marketplace\|install\|uninstall\|update\|list] [ARGS...] | 플러그 인 및 플러그 인 마켓플레이스를 관리합니다. | | /rename NAME | 현재 세션의 이름을 바꿉니다 (별칭: /session rename). | | /reset-allowed-tools | 허용된 도구 목록을 다시 설정합니다. | | /resume [SESSION-ID] | 목록에서 선택하여 다른 세션으로 전환합니다(선택적으로 세션 ID 지정). | | /review [PROMPT] | 코드 검토 에이전트를 실행하여 변경 내용을 분석합니다. | | /session [checkpoints [n]\|files\|plan\|rename NAME] | 세션 정보 및 작업 영역 요약을 표시합니다. 자세한 내용은 하위 명령을 사용합니다. | | /share [file\|gist] [PATH] | Markdown 파일 또는 GitHub Gist에 세션을 공유합니다. | | /skills [list\|info\|add\|remove\|reload] [ARGS...] | 향상된 기능을 위한 기술을 관리합니다. | | /terminal-setup | 여러 줄 입력 지원을 위해 터미널을 구성합니다(Shift+EnterCtrl+Enter). | | /theme [show\|set\|list] [auto\|THEME-ID] | 터미널 테마를 보거나 구성합니다. | | /usage | 세션 사용 메트릭 및 통계를 표시합니다. | | /user [show\|list\|switch] | 현재 GitHub 사용자를 관리합니다. |

사용 가능한 슬래시 명령의 전체 목록을 보려면 CLI의 대화형 인터페이스에 입력 /help 합니다.

명령줄 옵션

OptionPurpose
--acp에이전트 클라이언트 프로토콜 서버를 시작합니다.
--add-dir=PATH파일 액세스를 위해 허용된 목록에 디렉터리를 추가합니다(여러 번 사용할 수 있습니다).
--add-github-mcp-tool=TOOL기본 CLI 하위 집합 대신 GitHub MCP 서버에 사용하도록 설정하는 도구를 추가합니다(여러 번 사용할 수 있음). 모든 도구에 *을 사용하십시오.
--add-github-mcp-toolset=TOOLSET기본 CLI 하위 집합 대신 GitHub MCP 서버에 사용하도록 설정할 도구 집합을 추가합니다(여러 번 사용할 수 있음). 모든 도구 집합에 all 을 사용합니다.
--additional-mcp-config=JSON이 세션에 대해서만 MCP 서버를 추가합니다. 서버 구성은 JSON 문자열 또는 파일 경로(접두사 포함)로 @제공할 수 있습니다.
          `~/.copilot/mcp-config.json`에서 구성을 확장합니다. 설치된 MCP 서버 구성을 동일한 이름으로 재정의합니다. |

| --agent=AGENT | 사용할 사용자 지정 에이전트을 지정하세요. | | --allow-all | 모든 사용 권한을 --allow-all-tools --allow-all-paths --allow-all-urls와 동일하게 활성화합니다. | | --allow-all-paths | 파일 경로 확인을 사용하지 않도록 설정하고 모든 경로에 대한 액세스를 허용합니다. | | --allow-all-tools | 모든 도구가 확인 없이 자동으로 실행되도록 허용합니다. CLI를 프로그래밍 방식으로 사용할 때 필요합니다(env: COPILOT_ALLOW_ALL). | | --allow-all-urls | 확인 없이 모든 URL에 대한 액세스를 허용합니다. | | --allow-tool=TOOL ... | CLI에 사용할 수 있는 권한이 있는 도구입니다. 사용 권한을 묻는 메시지가 표시되지 않습니다. 여러 도구의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. | | --allow-url=URL ... | 특정 URL 또는 도메인에 대한 액세스를 허용합니다. 여러 URL의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. | | --alt-screen=VALUE | 터미널 대체 화면 버퍼(on 또는 off)를 사용합니다. | | --autopilot | 프롬프트 모드에서 자동 운항 연속 실행을 활성화합니다. GitHub Copilot CLI가 자율적으로 작동하도록 허용을(를) 참조하세요. | | --available-tools=TOOL ... | 이러한 도구만 모델에서 사용할 수 있습니다. 여러 도구의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. | | --banner | 시작 배너를 표시합니다. | | --bash-env | bash 셸에 대한 지원을 사용하도록 설정합니다 BASH_ENV . | | --config-dir=PATH | 구성 디렉터리(기본값: ~/.copilot)를 설정합니다. | | --continue | 가장 최근 세션을 다시 시작합니다. | | --deny-tool=TOOL ... | CLI에 사용할 권한이 없는 도구입니다. 사용 권한을 묻는 메시지가 표시되지 않습니다. 여러 도구의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. | | --deny-url=URL ... | 특정 URL 또는 도메인에 대한 액세스 거부는 --allow-url보다 우선합니다. 여러 URL의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. | | --disable-builtin-mcps | 모든 기본 제공 MCP 서버(현재: github-mcp-server)를 사용하지 않도록 설정합니다. | | --disable-mcp-server=SERVER-NAME | 특정 MCP 서버를 사용하지 않도록 설정합니다(여러 번 사용할 수 있습니다). | | --disable-parallel-tools-execution | 도구의 병렬 실행을 사용하지 않도록 설정합니다(LLM은 병렬 도구 호출을 수행할 수 있지만 순차적으로 실행됨). | | --disallow-temp-dir | 시스템 임시 디렉터리에 대한 자동 액세스를 방지합니다. | | --enable-all-github-mcp-tools | 기본 CLI 하위 집합 대신 모든 GitHub MCP 서버 도구를 사용하도록 설정합니다. --add-github-mcp-toolset--add-github-mcp-tool 옵션을 재정의합니다. | | --excluded-tools=TOOL ... | 이러한 도구는 모델에서 사용할 수 없습니다. 여러 도구의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. | | --experimental | 실험적 기능을 활성화합니다(--no-experimental을 사용해 비활성화). | | -h, --help | 도움말을 표시합니다. | | -i PROMPT, --interactive=PROMPT | 대화형 세션을 시작하고 이 프롬프트를 자동으로 실행합니다. | | --log-dir=DIRECTORY | 로그 파일 디렉터리(기본값: ~/.copilot/logs/)를 설정합니다. | | --log-level=LEVEL | 로그 수준(선택 사항: none,, error, warning``info, debug``all) default을 설정합니다. | | --max-autopilot-continues=COUNT | autopilot 모드의 최대 연속 메시지 수(기본값: 무제한). GitHub Copilot CLI가 자율적으로 작동하도록 허용을(를) 참조하세요. | | --model=MODEL | 사용하려는 AI 모델을 설정합니다. | | --no-alt-screen | 터미널 대체 화면 버퍼를 사용하지 않도록 설정합니다. | | --no-ask-user | ask_user 도구를 사용하지 않도록 설정합니다(에이전트는 질문을 하지 않고 자율적으로 작동). | | --no-auto-update | CLI 업데이트를 자동으로 다운로드하지 않도록 설정합니다. | | --no-bash-env | bash 셸에 대한 지원을 사용하지 않도록 설정합니다 BASH_ENV . | | --no-color | 모든 색 출력을 사용하지 않도록 설정합니다. | | --no-custom-instructions | 사용자 지정 명령 및 관련 파일의 로드를 AGENTS.md에서 비활성화합니다. | | --no-experimental | 실험적 기능을 사용하지 않도록 설정합니다. | | --output-format=FORMAT | FORMAT은 text (기본값) 또는 json (JSONL 출력: 줄당 하나의 JSON 개체)일 수 있습니다. | | -p PROMPT, --prompt=PROMPT | 프로그래밍 방식으로 프롬프트를 실행합니다(완료 후 종료). | | --plain-diff | 리치 다이프 렌더링(구문 강조 표시를 git 구성에서 지정한 diff 도구를 통해 제공)을 비활성화합니다. | | --resume=SESSION-ID | 목록에서 선택하여 이전 대화형 세션을 다시 시작합니다(선택적으로 세션 ID 지정). | | -s, --silent | 을 사용하여 스크립팅하는 -p데 유용한 에이전트 응답(사용 통계 제외)만 출력합니다. | | --screen-reader | 화면 읽기 프로그램 최적화를 사용하도록 설정합니다. | | --secret-env-vars=VAR ... | 출력에서 값을 수정하려는 환경 변수입니다. 여러 변수의 경우 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. 환경 변수 및 COPILOT_GITHUB_TOKEN 환경 변수의 GITHUB_TOKEN 값은 기본적으로 수정됩니다. | | --share=PATH | 프로그래밍 방식 세션(기본 경로: ./copilot-session-<ID>.md)이 완료된 후 Markdown 파일에 세션을 공유합니다. | | --share-gist | 세션을 완료한 후 비밀 GitHub 지스트에 세션을 공유합니다. | | --stream=MODE | 스트리밍 모드(모드 선택: on 또는)를 사용하거나 off사용하지 않도록 설정합니다. | | -v, --version | 버전 정보를 표시합니다. | | --yolo | 모든 사용 권한을 --allow-all와 동일하게 활성화합니다. |

명령 및 옵션의 전체 목록을 보려면 다음을 실행 copilot help합니다.

도구 사용 권한 패턴

          `--allow-tool` 및 `--deny-tool` 옵션은 사용 권한 패턴을 형식`Kind(argument)`으로 허용합니다. 인수는 선택 사항이며, 이를 생략하면 해당 종류의 모든 도구와 일치하게 됩니다.
Kind설명예제 패턴
shell셸 명령 실행
          `shell(git push)`, , `shell(git:*)``shell` |

| write | 파일 만들기 또는 수정 | write, write(src/*.ts) | | read | 파일 또는 디렉터리 읽기 | read, read(.env) | | SERVER-NAME | MCP 서버 도구 호출 | MyMCP(create_issue), MyMCP | | url | 웹 페치 또는 셸을 통한 URL 액세스 | url(github.com), url(https://*.api.com) | | memory | 에이전트 메모리에 팩트 저장 | memory |

          `shell` 규칙의 경우, `:*` 접미사는 명령어의 어간 뒤에 공백을 추가하여 부분적인 일치를 방지합니다. 예를 들어 `shell(git:*)`는 `git push` 및 `git pull`와 일치하지만 `gitea`와는 일치하지 않습니다.

거부 규칙은 설정된 경우에도 --allow-all 항상 허용 규칙보다 우선합니다.

# Allow all git commands except git push
copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'

# Allow a specific MCP server tool
copilot --allow-tool='MyMCP(create_issue)'

# Allow all tools from a server
copilot --allow-tool='MyMCP'

환경 변수

변수설명
COPILOT_MODELAI 모델을 설정합니다.
COPILOT_ALLOW_ALL모든 권한을 자동으로 허용하도록 true 설정합니다(해당 --allow-all).
COPILOT_AUTO_UPDATE자동 업데이트를 비활성화하려면 false로 설정하세요.
COPILOT_CUSTOM_INSTRUCTIONS_DIRS사용자 지정 지침에 대한 쉼표로 구분된 추가 디렉터리 목록입니다.
COPILOT_SKILLS_DIRS기술에 대한 쉼표로 구분된 추가 디렉터리 목록입니다.
COPILOT_EDITOR대화형 편집을 위한 편집기 명령(명령 $VISUAL$EDITOR 검사 후). 설정되지 않은 경우 기본값은 vi로 설정됩니다.
COPILOT_GITHUB_TOKEN인증 토큰입니다.
          `GH_TOKEN` 및 `GITHUB_TOKEN`보다 우선합니다. |

| COPILOT_HOME | 구성 및 상태 디렉터리를 재정의합니다. 기본값: $HOME/.copilot. | | GH_TOKEN | 인증 토큰입니다. GITHUB_TOKEN보다 우선합니다. | | GITHUB_TOKEN | 인증 토큰입니다. | | USE_BUILTIN_RIPGREP | false 번들된 버전 대신 시스템의 ripgrep을 사용하도록 설정합니다. | | PLAIN_DIFF | 리치 차이 렌더를 true로 비활성화합니다. | | COLORFGBG | 어두운/밝은 터미널 배경 감지에 대한 대안입니다. | | COPILOT_CLI_ENABLED_FEATURE_FLAGS | 사용하도록 설정할 기능 플래그의 쉼표로 구분된 목록입니다(예: "SOME_FEATURE,SOME_OTHER_FEATURE"). |

구성 파일 설정

설정은 사용자에서 리포지토리로, 그 다음 로컬로 계단식으로 적용되며, 더욱 구체적인 범위는 더 일반적인 범위를 우선적으로 재정의합니다. 명령줄 플래그 및 환경 변수는 항상 가장 높은 우선 순위를 사용합니다.

Scope위치Purpose
사용자~/.copilot/config.json모든 리포지토리의 전역 기본값입니다. 환경 변수를 COPILOT_HOME 사용하여 대체 경로를 지정합니다.
리포지토리.github/copilot/settings.json공유 리포지토리 구성(리포지토리에 커밋됨)
로컬.github/copilot/settings.local.json개인 재정의(여기에 .gitignore 추가).

사용자 설정(~/.copilot/config.json)

암호키유형기본값설명
allowed_urlsstring[][]URL 또는 도메인은 프롬프트 없이 허용됩니다.
alt_screenbooleanfalse터미널 대체 화면 버퍼를 사용합니다.
auto_updatebooleantrueCLI 업데이트를 자동으로 다운로드합니다.
banner
          `"always"`
          \|
          `"once"`
          \|
          `"never"`
         | `"once"` | 애니메이션 배너 표시 빈도입니다. |

| bash_env | boolean | false | bash 셸에 대한 지원을 사용하도록 설정합니다 BASH_ENV . | | beep | boolean | true | 주의가 필요할 때 가청 경고음을 재생합니다. | | compact_paste | boolean | true | 대량 붙여넣기 데이터를 압축된 토큰으로 축소합니다. | | custom_agents.default_local_only | boolean | false | 로컬 사용자 지정 에이전트만 사용합니다. | | denied_urls | string[] | [] | 차단된 URL 또는 도메인(allowed_urls보다 우선합니다). | | experimental | boolean | false | 실험적 기능을 사용하도록 설정합니다. | | include_coauthor | boolean | true | 에이전트가 만든 git 커밋에 Co-authored-by 레이블을 추가합니다. | | companyAnnouncements | string[] | [] | 시작 시 임의로 표시되는 사용자 지정 메시지입니다. | | log_level | "none" | "error" | "warning" | "info" | "debug" | "all" | "default" | "default" | 로깅 상세 수위 | | model | string | 다양하다 | 사용할 AI 모델(/model 명령 참조). | | powershell_flags | string[] | ["-NoProfile", "-NoLogo"] | 시작 시 PowerShell(pwsh)에 전달된 플래그입니다. Windows만 해당합니다. | | reasoning_effort | "low" | "medium" | "high" | "xhigh" | "medium" | 확장된 사고를 위한 추론적 노력의 수준입니다. 상위 수준은 더 많은 컴퓨팅을 사용합니다. | | render_markdown | boolean | true | 터미널 출력에서 Markdown을 렌더링합니다. | | screen_reader | boolean | false | 화면 읽기 프로그램 최적화를 사용하도록 설정합니다. | | stream | boolean | true | 스트리밍 응답을 사용하도록 설정합니다. | | store_token_plaintext | boolean | false | 시스템 키 집합을 사용할 수 없는 경우 인증 토큰을 구성 파일에 일반 텍스트로 저장합니다. | | streamer_mode | boolean | false | 미리 보기 모델 이름 및 할당량 세부 정보를 숨깁니다(기록할 때 유용). | | theme | "auto" | "dark" | "light" | "auto" | 터미널 색 테마입니다. | | trusted_folders | string[] | [] | 미리 부여된 파일 액세스 권한이 있는 폴더입니다. | | update_terminal_title | boolean | true | 터미널 제목에 현재 의도를 표시합니다. |

리포지토리 설정(.github/copilot/settings.json)

리포지토리 설정은 리포지토리에서 작동하는 모든 사용자에게 적용됩니다. 리포지토리 수준에서 설정의 하위 집합만 지원됩니다. 지원되지 않는 키는 무시됩니다.

암호키유형동작 통합설명
companyAnnouncementsstring[]Replaced - 리포지토리가 우선합니다.시작 시 임의로 표시되는 메시지입니다.
enabledPluginsRecord<string, boolean>병합됨 - 저장소가 동일한 키에 대해 사용자를 우선합니다.선언적 플러그 인 자동 설치.
extraKnownMarketplacesRecord<string, {...}>병합됨 - 저장소가 동일한 키에 대해 사용자를 우선합니다.이 리포지토리에서 사용할 수 있는 플러그 인 마켓플레이스입니다.
marketplacesRecord<string, {...}>병합됨 - 저장소가 동일한 키에 대해 사용자를 우선합니다.플러그 인 마켓플레이스(사용되지 않음- 사용 extraKnownMarketplaces).

로컬 설정(.github/copilot/settings.local.json)

리포지토리에서 커밋되지 않아야 할 개인 재정의를 위해 .github/copilot/settings.local.json를 만듭니다. 에 이 파일을 추가합니다 .gitignore.

로컬 구성 파일은 리포지토리 구성 파일(.github/copilot/settings.json)과 동일한 스키마를 사용하며 이보다 우선합니다.

후크 레퍼런스

후크는 세션 중에 특정 수명 주기 지점에서 실행되는 외부 명령으로, 사용자 지정 자동화, 보안 제어 및 통합을 사용하도록 설정합니다. 후크 구성 파일은 리포지토리의 .github/hooks/*.json에서 자동으로 로드됩니다.

후크 구성 형식

후크 구성 파일은 버전 1이 있는 JSON 형식을 사용합니다.

명령 후크

명령 후크는 셸 스크립트를 실행하며 모든 후크 유형에서 지원됩니다.

{
  "version": 1,
  "hooks": {
    "preToolUse": [
      {
        "type": "command",
        "bash": "your-bash-command",
        "powershell": "your-powershell-command",
        "cwd": "optional/working/directory",
        "env": { "VAR": "value" },
        "timeoutSec": 30
      }
    ]
  }
}
분야유형필수설명
type"command"
          `"command"`이어야 합니다. |

| bash | 문자열 | 다음 중 하나 bash/powershell | Unix에 대한 셸 명령입니다. | | powershell | 문자열 | 다음 중 하나 bash/powershell | Windows용 셸 명령입니다. | | cwd | 문자열 | No | 명령에 대한 작업 디렉터리입니다(리포지토리 루트 또는 절대를 기준으로). | | env | 객체 | No | 설정할 환경 변수(변수 확장 지원). | | timeoutSec | 숫자 | No | 초 단위의 시간 제한입니다. 기본값: 30. |

프롬프트 후크

사용자가 입력한 것처럼 프롬프트 후크가 텍스트를 자동으로 제출합니다. sessionStart에서만 지원되며 --prompt를 통해 초기 프롬프트가 전달되기 전에 실행됩니다. 텍스트는 자연어 프롬프트 또는 슬래시 명령일 수 있습니다.

{
  "version": 1,
  "hooks": {
    "sessionStart": [
      {
        "type": "prompt",
        "prompt": "Your prompt text or /slash-command"
      }
    ]
  }
}
분야유형필수설명
type"prompt"
          `"prompt"`이어야 합니다. |

| prompt | 문자열 | 예 | 제출할 텍스트는 자연어 메시지 또는 슬래시 명령일 수 있습니다. |

후크 이벤트

이벤트발생하는 경우처리된 출력
sessionStart새 세션 또는 다시 시작된 세션이 시작됩니다.No
sessionEnd세션이 종료됩니다.No
userPromptSubmitted사용자가 프롬프트를 제출합니다.No
preToolUse각 도구를 실행하기 전에.예 - 허용, 거부 또는 수정할 수 있습니다.
postToolUse각 도구가 완료된 후No
agentStop주 에이전트가 턴을 완료합니다.예 - 연속을 차단하고 강제 적용할 수 있습니다.
subagentStop서브에이전트가 완료됩니다.예 - 연속을 차단하고 강제 적용할 수 있습니다.
errorOccurred실행하는 동안 오류가 발생합니다.No

          `preToolUse` 의사 결정 제어

          `preToolUse` 후크는 stdout에 JSON 개체를 작성하여 도구 실행을 제어할 수 있습니다.
분야가치들설명
permissionDecision
          `"allow"`, , `"deny"``"ask"` | 도구가 실행되는지 여부입니다. 빈 출력은 기본 동작을 사용합니다. |

| permissionDecisionReason | 문자열 | 에이전트에게 보여지는 이유. 결정 시 "deny"가 필요합니다. | | modifiedArgs | 객체 | 원본 대신 사용할 대체 도구 인수입니다. |

          `agentStop`
           / 
          `subagentStop` 의사 결정 제어
분야가치들설명
decision
          `"block"`, `"allow"` | 
          `"block"` 는 `reason` 를 프롬프트로 사용하여 다른 에이전트의 차례를 강제합니다. |

| reason | 문자열 | decision"block"일 때 다음 턴에 대한 프롬프트. |

후크 일치를 위한 도구 이름

도구 이름설명
bash셸 명령 실행(Unix).
powershell셸 명령을 실행합니다(Windows).
view파일 내용을 읽습니다.
edit파일 내용을 수정합니다.
create새 파일을 만듭니다.
glob패턴별로 파일을 찾습니다.
grep파일 콘텐츠를 검색합니다.
web_fetch웹 페이지를 가져옵니다.
task서브에이전트 작업을 실행합니다.

동일한 형식의 여러 후크가 구성된 경우 순서대로 실행됩니다. 의 경우 preToolUse후크가 반환 "deny"되면 도구가 차단됩니다. 후크 오류(0이 아닌 종료 코드 또는 시간 초과)는 로그에 기록되며 건너뜁니다. 이러한 오류는 에이전트 실행을 절대 차단하지 않습니다.

MCP 서버 구성

MCP 서버는 CLI 에이전트에 추가 도구를 제공합니다. ~/.copilot/mcp-config.json에서 영구 서버를 구성하십시오. 단일 세션에 대한 서버를 추가하는 데 사용합니다 --additional-mcp-config .

전송 형식

유형설명필수 필드
local / stdiostdin/stdout을 통해 통신하는 로컬 프로세스입니다.
          `command`, `args` |

| http | 스트리밍 가능한 HTTP 전송을 사용하는 원격 서버입니다. | url | | sse | Server-Sent 이벤트 전송을 사용하는 원격 서버입니다. | url |

로컬 서버 구성 필드

분야필수설명
command서버를 시작하는 명령입니다.
args명령 인수(배열).
tools사용하도록 설정할 도구: ["*"] 모두 또는 특정 도구 이름 목록
envNo환경 변수입니다.
          `$VAR`, `${VAR}`, 및 `${VAR:-default}` 확장을 지원합니다. |

| cwd | No | 서버에 대한 작업 디렉터리입니다. | | timeout | No | 도구 호출 시간 제한(밀리초)입니다. | | type | No | "local" 또는 "stdio". 기본값: "local". |

원격 서버 구성 필드

분야필수설명
type
          `"http"` 또는 `"sse"`. |

| url | 예 | 서버 URL입니다. | | tools | 예 | 활성화할 도구입니다. | | headers | No | HTTP 헤더. 변수 확장을 지원합니다. | | oauthClientId | No | 정적 OAuth 클라이언트 ID(동적 등록 건너뛰기). | | oauthPublicClient | No | OAuth 클라이언트가 공용인지 여부입니다. 기본값: true. | | timeout | No | 도구 호출 시간 제한(밀리초)입니다. |

필터 매핑

MCP 도구 출력이 처리되는 방법을 서버 구성의 filterMapping 필드를 사용하여 제어합니다.

모드설명
none필터링이 없습니다.
markdown출력의 서식을 Markdown으로 지정합니다.
hidden_characters숨겨진 문자 또는 컨트롤 문자를 제거합니다. Default.

기본 제공 MCP 서버

CLI에는 추가 설정 없이 사용할 수 있는 기본 제공 MCP 서버가 포함되어 있습니다.

서버설명
github-mcp-serverGitHub API 통합: 문제, 풀 리퀘스트, 커밋, 코드 검색 및 GitHub Actions.
playwright브라우저 자동화: 탐색, 클릭, 입력, 스크린샷 및 양식 처리
fetchHTTP 요청은 fetch 도구를 통해 이루어집니다.
time시간 유틸리티: get_current_timeconvert_time.

모든 기본 제공 서버를 사용하지 않도록 설정하거나 --disable-builtin-mcps 특정 서버를 사용하지 않도록 설정하는 데 사용합니다--disable-mcp-server SERVER-NAME.

MCP 서버 신뢰 수준

MCP 서버는 각각 다른 신뢰 수준을 가진 여러 원본에서 로드됩니다.

출처신뢰 수준검토 필요
내장형높음No
리포지토리(.github/mcp.json)중간권장
작업 영역(.mcp.json, .vscode/mcp.json)중간권장
개발용 컨테이너(.devcontainer/devcontainer.json)중간권장
사용자 구성(~/.copilot/mcp-config.json)User-defined사용자 책임
원격 서버낮음

모든 MCP 도구 호출에는 명시적 권한이 필요합니다. 이는 외부 서비스에 대한 읽기 전용 작업에도 적용됩니다.

기술 참조

기술은 CLI에서 수행할 수 있는 작업을 확장하는 Markdown 파일입니다. 각 기술은 SKILL.md 파일이 포함된 자체 디렉터리에 있습니다. 에이전트를 통해 /SKILL-NAME 또는 자동으로 호출되면 기술의 콘텐츠가 대화에 삽입됩니다.

기술 프런트매터 필드

분야유형필수설명
name문자열스킬의 고유 식별자입니다. 문자, 숫자 및 하이픈만 해당됩니다. 최대 64자
description문자열기술이 수행하는 기능 및 사용 시기. 최대 1024자
allowed-toolsstring 또는 string[]No기술이 활성 상태일 때 자동으로 허용되는 쉼표로 구분된 목록 또는 YAML 도구 배열입니다. 모든 도구에 "*"을 사용하십시오.
user-invocable부울No사용자가 /SKILL-NAME를 사용하여 기술을 호출할 수 있는지 여부입니다. 기본값: true.
disable-model-invocation부울No에이전트가 이 기술을 자동으로 호출하지 않도록 합니다. 기본값: false.

기술 위치

스킬은 우선순위에 따라 이 위치에서 로드됩니다(중복 이름의 경우, 먼저 발견된 것이 우선합니다).

위치Scope설명
.github/skills/프로젝트프로젝트별 기술.
.agents/skills/프로젝트대체 프로젝트 위치입니다.
.claude/skills/프로젝트클로드 호환 위치입니다.
부모 .github/skills/InheritedMonorepo 부모 디렉터리 지원.
~/.copilot/skills/개인적인모든 프로젝트에 대한 개인 기술.
~/.claude/skills/개인적인Claude와 호환되는 사용자의 위치.
플러그 인 디렉터리플러그 인설치된 플러그인에서 제공하는 기능입니다.
COPILOT_SKILLS_DIRSCustom추가 디렉터리(쉼표로 구분).

명령(대체 기술 형식)

명령은 .에 개별 .md 파일로 저장된 기술에 대한 대안입니다 .claude/commands/. 명령 이름은 파일 이름에서 파생됩니다. 명령 파일은 간단한 형식을 사용하며 (name 필드가 필요하지 않음) description, allowed-toolsdisable-model-invocation를 지원합니다. 명령은 이름이 같은 기술보다 우선 순위가 낮습니다.

사용자 지정 에이전트 참조

사용자 지정 에이전트는 Markdown 파일에 정의된 특수한 AI 에이전트입니다. 파일 이름(확장명 빼기)이 에이전트 ID가 됩니다. .agent.md 또는 .md을 파일 확장자로 사용합니다.

기본 제공 에이전트

대리인기본 모델설명
code-reviewclaude-sonnet-4.5높은 신호 대 잡음비 코드 검토 버그, 보안 문제 및 논리 오류에 대한 변경사항을 분석합니다.
exploreclaude-haiku-4.5빠른 코드베이스 탐색. 파일을 검색하고, 코드를 읽고, 질문에 답변합니다. 300단어 미만의 포커스가 있는 답변을 반환합니다. 병렬로 실행해도 안전합니다.
general-purposeclaude-sonnet-4.5복잡한 다단계 작업에 대한 전체 기능 에이전트입니다. 별도의 컨텍스트 창에서 실행됩니다.
research클로드 소넷-4.6심층 연구 에이전트. 코드베이스, 관련 리포지토리 및 웹의 정보를 기반으로 보고서를 생성합니다.
taskclaude-haiku-4.5명령 실행(테스트, 빌드, 린트). 성공, 실패의 전체 출력에 대한 간략한 요약을 반환합니다.

사용자 지정 에이전트 프런트매터 필드

분야유형필수설명
description문자열에이전트 목록 및 task 도구에 표시된 설명입니다.
infer부울No주 에이전트에서 자동 위임을 허용합니다. 기본값: true.
mcp-servers객체No연결할 MCP 서버입니다. 와 동일한 스키마를 ~/.copilot/mcp-config.json사용합니다.
model문자열No이 에이전트에 대한 AI 모델입니다. 설정되지 않은 경우 외부 에이전트의 모델을 상속합니다.
name문자열No표시 이름: 기본값은 파일 이름입니다.
tools문자열[]No에이전트에서 사용할 수 있는 도구입니다. 기본값: ["*"] (모든 도구).

사용자 지정 에이전트 위치

Scope위치
프로젝트
          `.github/agents/` 또는 `.claude/agents/` |

| 사용자 | ~/.copilot/agents/ 또는 ~/.claude/agents/ | | 플러그 인 | <plugin>/agents/ |

프로젝트 수준 에이전트는 사용자 수준 에이전트보다 우선합니다. 플러그 인 에이전트의 우선 순위가 가장 낮습니다.

사용 권한 승인 응답

CLI에서 작업을 실행할 수 있는 권한을 묻는 메시지가 표시되면 다음 키로 응답할 수 있습니다.

암호키영향
y이 특정 요청을 한 번 허용합니다.
n이 특정 요청을 한 번 거부합니다.
!세션의 나머지 부분에 대해 유사한 모든 요청을 허용합니다.
#세션의 나머지 부분에 대해 유사한 모든 요청을 거부합니다.
?요청에 대한 자세한 정보를 표시합니다.

새 세션을 실행 /clear 하거나 시작할 때 세션 승인이 다시 설정됩니다.

Flag계층설명
AUTOPILOT_MODEexperimental자율 작업 모드입니다.
BACKGROUND_AGENTSstaff백그라운드에서 에이전트를 실행합니다.
QUEUED_COMMANDSstaff에이전트가 실행되는 동안 명령을 큐에 추가합니다.
LSP_TOOLSon언어 서버 프로토콜 도구.
PLAN_COMMANDon대화형 계획 모드입니다.
AGENTIC_MEMORYon세션 간 영구 메모리입니다.
CUSTOM_AGENTSon사용자 지정 에이전트 정의입니다.

OpenTelemetry 모니터링

Copilot CLI는 OpenTelemetry(OTel)을 통해 추적 및 메트릭을 내보내어 에이전트 상호 작용, LLM 호출, 도구 실행 및 토큰 사용에 대한 가시성을 제공합니다. 모든 신호 이름과 특성은 OTel GenAI 의미 체계 규칙을 따릅니다.

OTel은 기본적으로 오버헤드가 없는 상태로 꺼져 있습니다. 다음 조건이 충족되면 활성화됩니다.

  • COPILOT_OTEL_ENABLED=true
  •         `OTEL_EXPORTER_OTLP_ENDPOINT` 가 설정되었습니다.
    
  •         `COPILOT_OTEL_FILE_EXPORTER_PATH` 가 설정되었습니다.
    

OTel 환경 변수

변수기본값설명
COPILOT_OTEL_ENABLEDfalseOTel을 명시적으로 사용하도록 설정합니다. 설정된 경우 OTEL_EXPORTER_OTLP_ENDPOINT 필요하지 않습니다.
OTEL_EXPORTER_OTLP_ENDPOINTOTLP 엔드포인트 URL입니다. 이를 자동으로 설정하면 OTel이 활성화됩니다.
COPILOT_OTEL_EXPORTER_TYPEotlp-http내보내기 형식: otlp-http 또는 file.
          `file`이(가) 설정되면 `COPILOT_OTEL_FILE_EXPORTER_PATH`을(를) 자동으로 선택합니다. |

| OTEL_SERVICE_NAME | github-copilot | 리소스 특성의 서비스 이름입니다. | | OTEL_RESOURCE_ATTRIBUTES | — | 쉼표로 구분된 key=value 쌍으로 추가 리소스 속성을 제공합니다. 특수 문자에 백분율 인코딩을 사용합니다. | | OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT | false | 전체 프롬프트 및 응답 콘텐츠를 캡처합니다. 콘텐츠 캡처를 참조하세요. | | OTEL_LOG_LEVEL | — | OTel 진단 로그 수준: NONE,ERROR, WARN, INFO``DEBUG, VERBOSE. ALL | | COPILOT_OTEL_FILE_EXPORTER_PATH | — | 이 파일에 모든 신호를 JSON 줄로 씁니다. 이를 자동으로 설정하면 OTel이 활성화됩니다. | | COPILOT_OTEL_SOURCE_NAME | github.copilot | 추적기 및 미터의 계측 범위 이름입니다. | | OTEL_EXPORTER_OTLP_HEADERS | — | OTLP 내보내기(예: Authorization=Bearer token)에 대한 인증 헤더입니다. |

Traces

런타임은 각 에이전트 상호 작용에 대한 계층적 범위 트리를 내보낸다. 각 트리에는 invoke_agent 루트 범위와 chat``execute_tool 자식 범위가 포함됩니다.

          `invoke_agent` 범위 속성

전체 에이전트 호출을 래핑합니다. 하나의 사용자 메시지에 대한 모든 LLM 호출 및 도구 실행. 범위 종류: CLIENT.

특성설명
gen_ai.operation.nameinvoke_agent
gen_ai.provider.name공급자(예: github, anthropic)
gen_ai.agent.id세션 식별자
gen_ai.agent.name에이전트 이름(하위 에이전트만 해당)
gen_ai.agent.description에이전트 설명(하위 에이전트 전용)
gen_ai.agent.version런타임 버전
gen_ai.conversation.id세션 식별자
gen_ai.request.model요청된 모델
gen_ai.response.model해결된 모델
gen_ai.response.id마지막 응답 ID
gen_ai.response.finish_reasons
          `["stop"]` 또는 `["error"]` |

| gen_ai.usage.input_tokens | 총 입력 토큰(모든 회차) | | gen_ai.usage.output_tokens | 총 출력 토큰(모든 회전) | | gen_ai.usage.cache_read.input_tokens | 캐시된 입력 토큰 읽기 | | gen_ai.usage.cache_creation.input_tokens | 캐시된 입력 토큰 생성됨 | | github.copilot.turn_count | LLM 왕복 횟수 | | github.copilot.cost | 현금 비용 | | github.copilot.aiu | 사용된 AI 단위 | | server.address | 서버 호스트 이름 | | server.port | 서버 포트 | | error.type | 오류 클래스 이름(오류 시) | | gen_ai.input.messages | 전체 입력 메시지를 JSON으로(콘텐츠 캡처에만 해당) | | gen_ai.output.messages | JSON으로 전체 출력 메시지(콘텐츠 캡처만 해당) | | gen_ai.system_instructions | 시스템 프롬프트 콘텐츠의 JSON 표현 (콘텐츠 캡처를 위한) | | gen_ai.tool.definitions | JSON으로 도구 스키마(콘텐츠 캡처에만 해당) |

          `chat` 범위 속성

LLM 요청당 하나의 범위입니다. 범위 종류: CLIENT.

특성설명
gen_ai.operation.namechat
gen_ai.provider.name공급자 이름
gen_ai.request.model요청된 모델
gen_ai.conversation.id세션 식별자
gen_ai.response.id응답 ID
gen_ai.response.model해결된 모델
gen_ai.response.finish_reasons중지 이유
gen_ai.usage.input_tokens이 회차에 입력 토큰이 있습니다
gen_ai.usage.output_tokens이번 턴에 출력된 토큰
gen_ai.usage.cache_read.input_tokens캐시된 토큰 읽기
gen_ai.usage.cache_creation.input_tokens캐시된 토큰 생성됨
github.copilot.cost턴 비용
github.copilot.aiu이 턴에 소모된 AI 단위
github.copilot.server_duration서버 측 처리 시간
github.copilot.initiator요청 발신자
github.copilot.turn_id턴 아이덴티파이어
github.copilot.interaction_id상호 작용 식별자
server.address서버 호스트 이름
server.port서버 포트
error.type오류 클래스 이름(오류 시)
gen_ai.input.messages전체 프롬프트 메시지를 JSON으로(콘텐츠 캡처에만 해당)
gen_ai.output.messagesJSON으로 전체 응답 메시지(콘텐츠 캡처에만 해당)
gen_ai.system_instructions시스템 프롬프트 콘텐츠의 JSON 표현 (콘텐츠 캡처를 위한)

          `execute_tool` 범위 속성

도구 호출당 하나의 범위입니다. 범위 종류: INTERNAL.

특성설명
gen_ai.operation.nameexecute_tool
gen_ai.provider.name공급자 이름(사용 가능한 경우)
gen_ai.tool.name도구 이름(예: readFile)
gen_ai.tool.typefunction
gen_ai.tool.call.id도구 호출 식별자
gen_ai.tool.description도구 설명
error.type오류 클래스 이름(오류 시)
gen_ai.tool.call.argumentsJSON으로 도구 입력 인수(콘텐츠 캡처에만 해당)
gen_ai.tool.call.resultJSON으로 도구 출력(콘텐츠 캡처에만 해당)

Metrics

GenAI 규칙 메트릭

Metric유형단위설명
gen_ai.client.operation.duration히스토그램sLLM API 호출 및 에이전트 호출 기간
gen_ai.client.token.usage히스토그램tokens형식별 토큰 개수(input/output)
gen_ai.client.operation.time_to_first_chunk히스토그램s첫 번째 스트리밍 청크를 수신하는 시간
gen_ai.client.operation.time_per_output_chunk히스토그램s첫 번째 청크 이후의 청크 간 대기 시간

공급업체별 메트릭

Metric유형단위설명
github.copilot.tool.call.count계수기호출
          `gen_ai.tool.name` 및 `success`에 의한 도구 호출 |

| github.copilot.tool.call.duration | 히스토그램 | s | 도구 실행 지연 시간 기준 gen_ai.tool.name | | github.copilot.agent.turn.count | 히스토그램 | 회전 | 에이전트 호출당 LLM의 왕복 횟수 |

이벤트 범위 지정

활성 chat 또는 invoke_agent 범위에 기록된 수명 주기 이벤트입니다.

이벤트설명주요 속성
github.copilot.session.truncation대화 기록이 잘렸습니다.
          `github.copilot.token_limit`, `github.copilot.pre_tokens`, `github.copilot.post_tokens`, `github.copilot.tokens_removed``github.copilot.messages_removed` |

| github.copilot.session.compaction_start | 기록 압축 시작 | 없음 | | github.copilot.session.compaction_complete | 기록 압축 완료 | github.copilot.success, github.copilot.pre_tokens, github.copilot.post_tokens, github.copilot.tokens_removed``github.copilot.messages_removed | | github.copilot.skill.invoked | 기술이 호출되었습니다. | github.copilot.skill.name, github.copilot.skill.path, , github.copilot.skill.plugin_name, github.copilot.skill.plugin_version | | github.copilot.session.shutdown | 세션이 종료됩니다. | github.copilot.shutdown_type, github.copilot.total_premium_requests, github.copilot.lines_added, github.copilot.lines_removed``github.copilot.files_modified_count | | github.copilot.session.abort | 사용자가 현재 작업을 취소했습니다. | github.copilot.abort_reason | | exception | 세션 오류 | github.copilot.error_type, , github.copilot.error_status_code``github.copilot.error_provider_call_id |

리소스 특성

모든 신호는 이러한 리소스 특성을 전달합니다.

특성가치
service.name
          `github-copilot` (를 통해 `OTEL_SERVICE_NAME`구성 가능) |

| service.version | 런타임 버전 |

콘텐츠 캡처

기본적으로 프롬프트 콘텐츠, 응답 또는 도구 인수는 캡처되지 않으며 모델 이름, 토큰 수 및 기간과 같은 메타데이터만 캡처됩니다. 전체 콘텐츠를 캡처하려면 .를 설정합니다 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true.

경고

콘텐츠 캡처에는 코드, 파일 콘텐츠 및 사용자 프롬프트와 같은 중요한 정보가 포함될 수 있습니다. 신뢰할 수 있는 환경에서만 사용하도록 설정합니다.

콘텐츠 캡처를 사용하도록 설정하면 다음 특성이 채워집니다.

특성Content
gen_ai.input.messages전체 프롬프트 메시지(JSON)
gen_ai.output.messages전체 응답 메시지(JSON)
gen_ai.system_instructions시스템 프롬프트 콘텐츠(JSON)
gen_ai.tool.definitions도구 스키마(JSON)
gen_ai.tool.call.arguments도구 입력 인수
gen_ai.tool.call.result도구 출력

추가 읽기

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-plugin-reference)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-programmatic-reference)