v0.33.0 기준
IT/AI
Gemini CLI Plan 모드, 직접 써봤습니다
— 안전하다는 말의 함정
2026년 3월 11일, 구글이 Gemini CLI에 Plan 모드를 기본 탑재했습니다.
“코드를 건드리지 않고 먼저 계획한다”는 문구가 인상적이었는데, 막상 공식 문서를 전부 읽어보니 생각보다 복잡한 조건들이 있었습니다.
Plan 모드가 뭔지, 결론부터 말씀드리면
Gemini CLI Plan 모드는 2026년 3월 11일, v0.33.0 업데이트로 기본 활성화됐습니다. 핵심은 AI가 코드를 바꾸기 전에 먼저 “읽기 전용”으로 코드베이스를 탐색하고, 작업 계획을 마크다운 파일로 제안한다는 것입니다. 계획을 승인해야만 실제 코드 수정이 시작됩니다.
“AI가 내 코드를 함부로 건드리지 않는다”는 문구가 핵심 셀링 포인트인데, 이 말이 맞긴 맞습니다. Plan 모드에서는 write_file, run_shell_command 같은 쓰기·실행 도구가 차단됩니다. 읽기 전용 파일 탐색, 패턴 검색, 문서 조회만 허용됩니다. (출처: Gemini CLI 공식 문서, 2026.03.11)
문제는 “언제나 안전하다”는 표현이 과장이라는 점입니다. Plan 모드를 켜는 방법부터 꺼지는 조건까지, 실제로 써보면 처음 인식과 다른 부분이 꽤 있었습니다.
세 가지 모드 중에 Plan이 어떤 위치인지
Gemini CLI에는 현재 세 가지 승인 모드(Approval Mode)가 있습니다. Shift+Tab을 누르면 순서대로 전환됩니다.
| 모드 | 파일 수정 | 사용자 승인 | 위험도 |
|---|---|---|---|
| Plan | ❌ 불가 (계획 파일만 가능) | 계획 검토 후 승인 | 낮음 |
| Default | ✅ 가능 | 도구 실행마다 확인 | 중간 |
| Auto-Edit (YOLO) | ✅ 가능 | ❌ 자동 실행 | 높음 |
출처: Gemini CLI 공식 문서 (geminicli.com/docs/cli/plan-mode), 2026.03.11
Plan 모드는 스펙트럼의 가장 보수적인 끝에 있습니다. 기존에 쓰던 Default 모드도 도구 실행 때마다 허용/거부를 묻긴 하지만, Plan 모드처럼 아예 쓰기 권한 자체를 차단하진 않습니다. 이 차이가 실제 사용에서 체감됩니다.
Plan 모드 안에서 실제로 허용되는 것과 안 되는 것
공식 문서에서 직접 확인한 허용 도구 목록입니다. 생각보다 꽤 많은 것이 가능하고, 동시에 예상 밖으로 막혀 있는 것도 있습니다.
✅ Plan 모드에서 사용 가능한 것들
- 파일 읽기:
read_file,list_directory,glob - 검색:
grep_search,google_web_search - 리서치 서브에이전트:
codebase_investigator - 사용자에게 질문:
ask_user도구로 목표 명확화 - 읽기 전용 MCP 도구: GitHub 이슈 읽기, PostgreSQL 스키마 조회, Google Docs 검색 등
- 계획 파일 쓰기:
~/.gemini/tmp/<project>/<session>/plans/안의 .md 파일에 한정
❌ Plan 모드에서 막히는 것들
- 프로젝트 파일 쓰기·수정
- 셸 명령어 실행 (
run_shell_command) - 코드 배포·빌드 명령
- 쓰기 권한 있는 MCP 도구
하지만 정책 파일(~/.gemini/policies/)을 직접 작성하면 Plan 모드에서도 git status, git diff 같은 명령을 허용할 수 있습니다. 기본값이 보수적일 뿐, 열어두기 나름입니다. (출처: Gemini CLI 공식 문서, 2026.03.11)
Plan 단계에서 Gemini 3.1 Pro가 켜지는 이유
💡 공식 발표문과 실제 사용 흐름을 같이 놓고 보니 이런 차이가 보였습니다: 같은 세션 안에서 Plan 단계와 실행 단계에 서로 다른 모델이 자동으로 투입됩니다.
Gemini CLI가 auto 모델 설정으로 실행 중일 때, Plan 모드 진입 시 자동으로 Gemini 3.1 Pro(고추론 모델)로 라우팅됩니다. Plan을 승인하고 실행 단계로 넘어가면 자동으로 Flash 계열의 빠른 모델로 전환됩니다. (출처: Gemini CLI 공식 문서, 2026.03.11)
이게 왜 중요하냐면, 비용과 속도가 달라지기 때문입니다. 복잡한 설계 결정은 추론 능력이 높은 Pro 모델이 담당하고, 실제 코드 타이핑 단계는 속도에 최적화된 Flash 모델이 맡습니다. 전략은 무거운 모델, 실행은 가벼운 모델 — 이 분리를 사용자가 설정 없이 자동으로 누리게 됩니다.
이 자동 전환을 끄고 싶다면 settings.json에서 "modelRouting": false를 설정하면 됩니다. 단, 끄면 Plan 단계에서도 Flash 모델이 쓰일 수 있어 계획 품질이 낮아질 수 있습니다.
보안 패치가 나온 이유를 알면 안심하기 어렵습니다
Gemini CLI Plan 모드가 “읽기 전용이라 안전하다”고 소개된 직후, 보안 연구팀 Cyera Research Labs가 Gemini CLI 전체에서 취약점 2건을 발견했습니다. 구글은 VRP(Vulnerability Rewards Program)를 통해 패치를 완료했습니다. (출처: Cyera Research Labs 공식 보고서, 2025 하반기 발표)
⚠️ 발견된 2가지 취약점 (현재 패치 완료)
- 명령 주입(Command Injection): VS Code 확장 설치 핸들러에서 파일명이 셸 명령어로 직접 삽입돼 악성 명령 실행 가능. Linux/macOS 환경에서 확인됨
- 프롬프트 주입(Prompt Injection): 셸 명령어 검증 로직이
$()구문만 차단하고 백틱(``) 구문은 허용해 동등한 우회가 가능
Cyera는 TypeScript 코드베이스 전체에서 6,115개의 잠재 이슈를 스캔한 뒤, LLM 기반 트리아지로 12개의 리드를 추렸고, 48시간 안에 2건의 실제 취약점을 확인했습니다. 통상 300~500시간이 걸리는 작업을 16시간으로 단축한 것입니다.
현재 버전에서는 두 취약점 모두 패치됐습니다. 하지만 이 사례가 말해주는 건 하나입니다. “읽기 전용 모드”라는 개념은 AI 에이전트의 권한을 제한하지만, AI 도구 자체의 코드 레이어에서 발생하는 보안 위험은 별개의 문제입니다. Plan 모드의 안전함과 Gemini CLI 바이너리의 안전함은 다른 얘기입니다. 최신 버전으로 유지하는 게 중요한 이유가 여기에 있습니다.
Plan 승인 직후에 일어나는 일, 놓치기 쉽습니다
💡 공식 문서 비대화형 실행 섹션에 명시된 내용인데, 일반적인 Plan 모드 소개에서는 잘 언급되지 않는 조건입니다.
CI/CD 파이프라인처럼 사람이 없는 환경(비대화형 환경)에서 gemini --approval-mode plan -p "작업 내용"으로 실행하면, Plan이 완성된 후 승인 단계에서 자동으로 YOLO 모드로 전환됩니다. 사람이 직접 “Yes”를 누르지 않아도 전체 구현이 자동으로 진행됩니다. (출처: Gemini CLI 공식 문서 — Non-interactive execution 섹션, 2026.03.11)
인터랙티브 환경(터미널에서 직접 사용)에서는 Plan 승인 시 두 가지 중 하나를 선택합니다. “Yes, automatically accept edits”를 고르면 이후 실행 단계에서 각 변경 사항을 자동 수락합니다. “Yes, manually accept edits”를 고르면 각 도구 실행마다 다시 확인합니다.
쉽게 말하면, Plan을 승인한다고 모든 게 안전하게 단계별로 진행된다는 보장은 없습니다. “자동 수락”을 선택한 순간부터는 YOLO 모드와 체감상 거의 같습니다. Plan 단계에서 계획을 꼼꼼히 검토한 다음 “수동 수락”으로 실행하는 게 안전 활용의 핵심입니다.
Conductor가 Plan 모드를 어떻게 활용하는지
Gemini CLI의 공식 확장인 Conductor는 Plan 모드를 가장 적극적으로 활용하는 예시입니다. 구글은 이를 “Context-Driven Development(문맥 주도 개발)”라고 부릅니다. 일반 AI 코딩 도구들이 채팅 로그 기반으로 작동하는 것과 달리, Conductor는 계획을 마크다운 파일로 저장합니다. 세션이 끝나도 계획이 남습니다.
작업 흐름은 세 단계입니다. 먼저 Context(맥락 파악) → 이어서 Spec & Plan(사양 작성·계획) — 이 단계가 Plan 모드 안에서 진행됩니다 → 마지막으로 Implement(구현). 각 마일스톤마다 ask_user로 개발자에게 의사결정을 물어봅니다. (출처: Google Developers Blog, 2026.03.11)
구글은 Conductor를 “곧 Gemini CLI 내장 모드로 편입”할 예정이라고 발표했습니다. 별도 확장 설치 없이 Plan 모드의 전체 오케스트레이션 기능을 쓸 수 있게 되는 것입니다.
지금 당장 Conductor를 써보려면 터미널에서 gemini extensions install https://github.com/gemini-cli-extensions/conductor를 실행하면 됩니다.
자주 묻는 것들 — Q&A
마치며 — 솔직한 총평
Gemini CLI Plan 모드는 방향이 맞습니다. AI 에이전트가 코드를 건드리기 전에 먼저 계획을 세우고, 개발자가 검토한 뒤 승인한다는 흐름은 AI 코딩 도구가 나아가야 할 방향과 일치합니다. 특히 Plan 단계에서 고추론 모델(Gemini 3.1 Pro)을 쓰고 실행 단계에서 빠른 모델로 자동 전환하는 구조는 실용적으로 잘 설계됐습니다.
하지만 “Plan 모드 = 완전 안전”이라는 인식은 사실과 다릅니다. Plan 승인 후 “자동 수락”을 선택하면 실질적으로 YOLO 모드와 다름없이 동작합니다. CI/CD 파이프라인에서는 Plan 승인 후 자동으로 YOLO 전환이 일어납니다. Plan 모드 자체의 안전함과 Gemini CLI 바이너리 수준의 보안은 별개입니다.
써볼 만한 도구입니다. 단, Plan 검토 단계를 성의 있게 진행하고, 실행 단계에서 “수동 수락”을 습관화하는 게 실질적인 안전 활용법입니다. Conductor 확장이 내장 모드로 편입되면 개발 흐름이 훨씬 체계적으로 바뀔 것 같습니다. 그 업데이트가 나오면 다시 정리할 예정입니다.
본 포스팅 참고 자료
- Google Developers Blog — Plan mode is now available in Gemini CLI (2026.03.11)
- Gemini CLI 공식 문서 — Plan Mode (2026.03.11)
- Cyera Research Labs — Command & Prompt Injection Vulnerabilities in Gemini CLI
- GitHub — Gemini CLI v0.33.0 릴리스 노트 (2026.03.11)
- DevOps.com — Gemini CLI Plan Mode Separates Thinking From Doing (2026.03.16)
본 포스팅은 2026.03.26 기준 공개된 정보를 바탕으로 작성됐습니다. Gemini CLI는 오픈소스 프로젝트로 업데이트가 자주 이뤄지며, 본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. 최신 정보는 공식 문서와 GitHub 저장소에서 확인하시기 바랍니다.

댓글 남기기