Skip to main content

인증하는 GitHub 토큰의 런타임 전환

Socialite 등을 사용해 인증한 사용자별 GitHub 토큰으로 Copilot CLI를 실행하는 방법입니다.
Personal Access Token에는 Copilot Requests 권한이 필요합니다. Socialite 토큰에서도 동일한 요건이 될 것입니다. Socialite에서 사용할 수 있는 토큰을 얻을 수 없는 경우, PAT를 직접 입력받는 방식으로 합니다.
이 방법은 stdio 모드에서만 사용할 수 있습니다. TCP 모드는 Copilot CLI 프로세스를 기동한 상태로 사용하기 때문에 런타임에 전환할 수 없습니다. TCP 모드(cli_url)에서 github_token이나 use_logged_in_user를 지정하면 에러가 발생합니다.
아래 “세션별 GitHub 토큰(v0.3.0+)“은 TCP 모드에서도 사용할 수 있습니다.

github_token 옵션

SDK의 공식 옵션입니다. 토큰은 환경 변수 COPILOT_SDK_AUTH_TOKEN을 통해 CLI에 전달됩니다.

use_logged_in_user 옵션

github_token을 지정하면 자동으로 use_logged_in_userfalse가 됩니다. 이로써 CLI는 저장된 OAuth 토큰이나 gh CLI 인증을 사용하지 않고, 명시적으로 전달한 토큰만 사용합니다. 명시적으로 use_logged_in_usertrue로 설정할 수도 있습니다.
github_token 없이 use_logged_in_userfalse로 하면 --no-auto-login 플래그가 추가되어 CLI는 자동 로그인을 수행하지 않습니다.

세션별 GitHub 토큰(v0.3.0+)

SessionConfiggitHubToken 필드를 사용하면 동일한 CLI 프로세스 내에서 세션별로 다른 GitHub 토큰을 지정할 수 있습니다(멀티테넌트 대응). 이 토큰은 session.create JSON-RPC의 매개변수로 전달되므로 stdio 모드와 TCP 모드 모두에서 사용 가능합니다. CLI가 이미 기동된 TCP 모드에서도 세션 단위로 토큰을 전환할 수 있습니다.
TCP 모드에서의 사용 예:
클라이언트 레벨의 github_token(CLI 프로세스 기동 시의 토큰)과는 별도로 동작합니다. 세션 단위로 사용자 토큰을 전환하려면 이 옵션을 사용하세요.
최신 정보는 GitHub 저장소를 참고하세요.
마지막 수정일 2026년 7월 13일