Gemini CLI 설정 (/settings 명령)
/settings 명령으로 Gemini CLI 환경을 제어하세요. /settings 명령은
UI 경험, 키 바인딩 및 접근성 기능을 포함한 모든 Gemini CLI 설정을 보고 편집할 수 있는
대화 상자를 엽니다.
Gemini CLI 설정은 settings.json 파일에 저장됩니다. /settings 명령을
사용하는 것 외에도 다음 위치 중 하나에서 직접 편집할 수 있습니다:
- 사용자 설정:
~/.gemini/settings.json - 작업 공간 설정:
your-project/.gemini/settings.json
참고: 작업 공간 설정은 사용자 설정을 덮어씁니다.
설정 참조
다음은 사용 가능한 모든 설정 목록으로, 카테고리별로 그룹화되어 있으며 UI에 나타나는 순서대로 정렬되어 있습니다.
일반 (General)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| Vim 모드 | general.vimMode | Vim 키 바인딩 활성화 | false |
| 기본 승인 모드 | general.defaultApprovalMode | 도구 실행에 대한 기본 승인 모드입니다. 'default'는 승인을 요청하고, 'auto_edit'은 편집 도구를 자동 승인하며, 'plan'은 읽기 전용 모드입니다. 'yolo'는 아직 지원되지 않습니다. | "default" |
| 자동 업데이트 활성화 | general.enableAutoUpdate | 자동 업데이트를 활성화합니다. | true |
| 프롬프트 완성 활성화 | general.enablePromptCompletion | 입력하는 동안 AI 기반 프롬프트 완성 제안을 활성화합니다. | false |
| 키 입력 로깅 디버그 | general.debugKeystrokeLogging | 콘솔에 대한 키 입력의 디버그 로깅을 활성화합니다. | false |
| 세션 정리 활성화 | general.sessionRetention.enabled | 자동 세션 정리를 활성화합니다. | false |
출력 (Output)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| 출력 형식 | output.format | CLI 출력의 형식입니다. text 또는 json일 수 있습니다. | "text" |
UI
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| 자동 테마 전환 | ui.autoThemeSwitching | 터미널 배경색에 따라 기본 밝은 테마와 어두운 테마 간에 자동으로 전환합니다. | true |
| 터미널 배경 폴링 간격 | ui.terminalBackgroundPollingInterval | 터미널 배경색을 폴링하는 간격(초)입니다. | 60 |
| 창 제목 숨기기 | ui.hideWindowTitle | 창 제목 표시줄을 숨깁니다. | false |
| 인라인 생각 | ui.inlineThinkingMode | 모델의 생각을 인라인으로 표시합니다: off(끄기) 또는 full(전체). | "off" |
| 제목에 생각 표시 | ui.showStatusInTitle | 작업 단계 동안 터미널 창 제목에 Gemini CLI 모델의 생각을 표시합니다. | false |
| 동적 창 제목 | ui.dynamicWindowTitle | 현재 상태 아이콘으로 터미널 창 제목을 업데이트합니다 (준비: ◇, 조치 필요: ✋, 작업 중: ✦). | true |
| 홈 디렉토리 경고 표시 | ui.showHomeDirectoryWarning | 홈 디렉토리에서 Gemini CLI를 실행할 때 경고를 표시합니다. | true |
| 팁 숨기기 | ui.hideTips | UI에서 유용한 팁을 숨깁니다. | false |
| 단축키 힌트 표시 | ui.showShortcutsHint | 입력란 위에 "? for shortcuts" 힌트를 표시합니다. | true |
| 배너 숨기기 | ui.hideBanner | 애플리케이션 배너를 숨깁니다. | false |
| 컨텍스트 요약 숨기기 | ui.hideContextSummary | 입력란 위의 컨텍스트 요약(GEMINI.md, MCP 서버)을 숨깁니다. | false |
| 현재 작업 디렉토리 숨기기 | ui.footer.hideCWD | 바닥글에서 현재 작업 디렉토리 경로를 숨깁니다. | false |
| 샌드박스 상태 숨기기 | ui.footer.hideSandboxStatus | 바닥글에서 샌드박스 상태 표시기를 숨깁니다. | false |
| 모델 정보 숨기기 | ui.footer.hideModelInfo | 바닥글에서 모델 이름과 컨텍스트 사용량을 숨깁니다. | false |
| 컨텍스트 창 백분율 숨기기 | ui.footer.hideContextPercentage | 남은 컨텍스트 창 백분율을 숨깁니다. | true |
| 바닥글 숨기기 | ui.hideFooter | UI에서 바닥글을 숨깁니다. | false |
| 메모리 사용량 표시 | ui.showMemoryUsage | UI에 메모리 사용량 정보를 표시합니다. | false |
| 줄 번호 표시 | ui.showLineNumbers | 채팅에 줄 번호를 표시합니다. | true |
| 인용 표시 | ui.showCitations | 채팅에서 생성된 텍스트에 대한 인용을 표시합니다. | false |
| 채팅에 모델 정보 표시 | ui.showModelInfoInChat | 각 모델 턴에 대해 채팅에 모델 이름을 표시합니다. | false |
| 사용자 ID 표시 | ui.showUserIdentity | UI에 로그인된 사용자의 신원(예: 이메일)을 표시합니다. | true |
| 대체 화면 버퍼 사용 | ui.useAlternateBuffer | UI에 대체 화면 버퍼를 사용하여 셸 기록을 보존합니다. | false |
| 배경색 사용 | ui.useBackgroundColor | UI에서 배경색을 사용할지 여부입니다. | true |
| 증분 렌더링 | ui.incrementalRendering | UI에 대한 증분 렌더링을 활성화합니다. 이 옵션은 깜박임을 줄여주지만 렌더링 아티팩트가 발생할 수 있습니다. useAlternateBuffer가 활성화된 경우에만 지원됩니다. | true |
| 스피너 표시 | ui.showSpinner | 작업 중에 스피너를 표시합니다. | true |
| 로딩 문구 활성화 | ui.accessibility.enableLoadingPhrases | 작업 중에 로딩 문구를 활성화합니다. | true |
| 스크린 리더 모드 | ui.accessibility.screenReader | 스크린 리더가 더 쉽게 접근할 수 있도록 일반 텍스트로 출력을 렌더링합니다. | false |
IDE
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| IDE 모드 | ide.enabled | IDE 통합 모드를 활성화합니다. | false |
모델 (Model)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| 최대 세션 턴 수 | model.maxSessionTurns | 세션에 유지할 최대 사용자/모델/도구 턴 수입니다. -1은 무제한을 의미합니다. | -1 |
| 압축 임계값 | model.compressionThreshold | 컨텍스트 압축을 트리거할 컨텍스트 사용량 비율입니다 (예: 0.2, 0.3). | 0.5 |
| 루프 감지 비활성화 | model.disableLoopDetection | 무한 루프의 자동 감지 및 방지를 비활성화합니다. | false |
| 다음 화자 확인 건너뛰기 | model.skipNextSpeakerCheck | 다음 화자 확인을 건너뜁니다. | true |
컨텍스트 (Context)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| 메모리 검색 최대 디렉토리 | context.discoveryMaxDirs | 메모리를 검색할 최대 디렉토리 수입니다. | 200 |
| 포함 디렉토리에서 메모리 로드 | context.loadMemoryFromIncludeDirectories | /memory refresh가 GEMINI.md 파일을 로드하는 방식을 제어합니다. 참이면 포함 디렉토리를 스캔하고, 거짓이면 현재 디렉토리만 사용합니다. | false |
| .gitignore 준수 | context.fileFiltering.respectGitIgnore | 검색 시 .gitignore 파일을 준수합니다. | true |
| .geminiignore 준수 | context.fileFiltering.respectGeminiIgnore | 검색 시 .geminiignore 파일을 준수합니다. | true |
| 재귀 파일 검색 활성화 | context.fileFiltering.enableRecursiveFileSearch | 프롬프트에서 @ 참조를 완료할 때 재귀 파일 검색 기능을 활성화합니다. | true |
| 퍼지 검색 활성화 | context.fileFiltering.enableFuzzySearch | 파일 검색 시 퍼지 검색을 활성화합니다. | true |
| 사용자 정의 무시 파일 경로 | context.fileFiltering.customIgnoreFilePaths | 준수할 추가 무시 파일 경로입니다. 이 파일들은 .geminiignore 및 .gitignore보다 우선합니다. 배열의 앞부분에 있는 파일이 뒷부분에 있는 파일보다 우선합니다. 예: 첫 번째 파일이 두 번째 파일보다 우선합니다. | [] |
도구 (Tools)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| 대화형 셸 활성화 | tools.shell.enableInteractiveShell | 대화형 셸 경험을 위해 node-pty를 사용합니다. 실패 시 child_process로 대체됩니다. | true |
| 색상 표시 | tools.shell.showColor | 셸 출력에 색상을 표시합니다. | false |
| Ripgrep 사용 | tools.useRipgrep | 대체 구현 대신 파일 내용 검색에 ripgrep을 사용합니다. 더 빠른 검색 성능을 제공합니다. | true |
| 도구 출력 자르기 임계값 | tools.truncateToolOutputThreshold | 대규모 도구 출력을 자를 때 표시할 최대 문자 수입니다. 0이나 음수로 설정하면 자르기를 비활성화합니다. | 40000 |
| LLM 수정 비활성화 | tools.disableLLMCorrection | 편집 도구에 대한 LLM 기반 오류 수정을 비활성화합니다. 활성화되면 도구는 자체 수정을 시도하는 대신 정확한 문자열 일치가 발견되지 않으면 즉시 실패합니다. | true |
보안 (Security)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| YOLO 모드 비활성화 | security.disableYoloMode | 플래그로 활성화되어 있더라도 YOLO 모드를 비활성화합니다. | false |
| 영구 도구 승인 허용 | security.enablePermanentToolApproval | 도구 확인 대화 상자에서 "모든 향후 세션에 대해 허용" 옵션을 활성화합니다. | false |
| Git에서의 확장 차단 | security.blockGitExtensions | Git에서 확장을 설치하고 로드하는 것을 차단합니다. | false |
| 확장 소스 정규식 허용 목록 | security.allowedExtensions | 허용된 확장에 대한 정규식 패턴 목록입니다. 비어 있지 않으면 이 목록의 패턴과 일치하는 확장만 허용됩니다. | [] |
| 폴더 신뢰 | security.folderTrust.enabled | 폴더 신뢰가 활성화되었는지 추적하는 설정입니다. | true |
| 환경 변수 수정 활성화 | security.environmentVariableRedaction.enabled | 비밀을 포함할 수 있는 환경 변수의 수정을 활성화합니다. | false |
고급 (Advanced)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| 최대 Old Space 크기 자동 구성 | advanced.autoConfigureMemory | Node.js 메모리 제한을 자동으로 구성합니다 | false |
실험적 기능 (Experimental)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| 도구 출력 마스킹 활성화 | experimental.toolOutputMasking.enabled | 토큰을 저장하기 위해 도구 출력 마스킹을 활성화합니다. | true |
| OSC 52 붙여넣기 사용 | experimental.useOSC52Paste | clipboardy 대신 붙여넣기에 OSC 52 시퀀스를 사용합니다 (원격 세션에 유용함). | false |
| 계획 (Plan) | experimental.plan | 계획 기능 (계획 모드 및 도구)을 활성화합니다. | false |
기술 (Skills)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| 에이전트 기술 활성화 | skills.enabled | 에이전트 기술을 활성화합니다. | true |
후크 구성 (HooksConfig)
| UI 라벨 | 설정 | 설명 | 기본값 |
|---|---|---|---|
| 후크 활성화 | hooksConfig.enabled | 후크 시스템에 대한 표준 토글입니다. 비활성화되면 후크가 실행되지 않습니다. | true |
| 후크 알림 | hooksConfig.notifications | 후크가 실행될 때 시각적 표시기를 보여줍니다. | true |