Skip to main content

대화형 모드

터미널에서 Claude Code를 직접 다루는 대화형 세션의 입력 방식, 키보드 단축키, 권한 모드 순환을 입문서 수준으로 정리한 안내서입니다.

업데이트 2026-08-13 8분 분량 GitHub에서 수정 ↗

대화형 모드

터미널에서 claude를 치면 만나는 대화형 세션은 그냥 채팅창이 아니라, 코드를 읽고 고치고 명령을 실행하는 조종석입니다. 이 페이지에서는 그 조종석의 입력 방식과 단축키, 그리고 어디까지 자동으로 허용할지를 정하는 권한 모드를 처음부터 차근차근 짚어 봅니다.

배경 참조
이 문서는 MoAI-ADK가 올라타 있는 플랫폼인 Claude Code 자체를 다루는 배경 자료입니다. MoAI-ADK 자체 기능은 사이드바 위쪽 섹션에서 다룹니다.
정보
한 줄 요약: 대화형 모드는 모든 입력이 모이는 조종석입니다. 프롬프트 한 줄부터 / 명령, ! bash 실행, @ 파일 참조, 이미지 붙여넣기까지 한 곳에서 처리하고, EscShift+Tab으로 흐름과 권한을 직접 조종합니다.

대화형 세션(REPL)이 왜 필요한가

에이전트는 한 번 요청을 받으면 혼자서 파일을 뒤지고 코드를 고치고 명령을 실행합니다. 이렇게 자율으로 일하는 도구를 쓸 때 가장 중요한 것은 언제 끼어들지, 언제 맡길지를 직접 조종할 수 있는 창구입니다. 그 창구가 바로 대화형 세션, 곧 REPL (Read-Eval-Print Loop)입니다.

claude 명령을 실행하면 REPL이 열립니다. 여기서 자연어로 요청을 보내면 Claude가 코드를 읽고 수정하고 명령을 실행하며 응답합니다. 한 번의 요청과 응답을 (turn)이라고 부르며, 세션이 살아 있는 동안 대화 맥락이 누적됩니다.

기본 흐름은 단순합니다.

text
1. claude 실행 → 대화형 세션 시작
2. 프롬프트 입력 → Enter 로 제출
3. Claude가 응답 (도구 호출 + 결과)
4. 후속 요청 반복 → 맥락 누적
5. /clear 로 새 세션, Ctrl+D 로 종료

세션이 진행되는 동안 작업 디렉터리별로 입력 히스토리가 저장되고, 복잡한 다단계 작업에서는 Claude가 작업 목록을 만들어 진행 상황을 추적합니다. REPL이 “대화만 하는 창"이 아니라 “작업을 직접 조종하는 창"인 이유입니다.

다섯 가지 입력 방식

대화형 세션의 입력 칸은 단순한 텍스트 입력기가 아닙니다. 첫 글자에 따라 동작이 달라집니다.

입력 방식트리거설명
일반 프롬프트그냥 입력자연어 요청. Claude가 해석하고 작업합니다.
슬래시 명령/로 시작내장 명령, 스킬, 플러그인/MCP 명령을 호출합니다.
bash 실행!로 시작Claude를 거치지 않고 셸 명령을 직접 실행합니다.
파일 참조@ 입력파일 경로 자동완성을 띄워 특정 파일을 맥락에 추가합니다.
이미지 붙여넣기Ctrl+V (붙여넣기)클립보드 이미지를 [Image #N] 칩으로 삽입합니다.

슬래시 명령 (/)

입력 칸 맨 앞에 /를 치면 사용 가능한 모든 명령 메뉴가 뜹니다. 내장 명령뿐 아니라 번들 스킬, 사용자 작성 스킬, 플러그인과 MCP 서버가 제공하는 명령까지 한 메뉴에 모입니다. / 뒤에 글자를 이어 입력하면 실시간으로 후보가 좁아집니다. 자세한 목록은 슬래시 명령어 문서를 참고하세요.

bash 실행 (!)

!로 시작하면 셸 모드로 전환되어 명령이 Claude의 해석 없이 곧바로 실행됩니다.

bash
! npm test
! git status
! ls -la

셸 모드에서 실행한 명령과 그 출력은 대화 맥락에 함께 쌓입니다. 직접 셸을 두드리면서도 Claude가 그 결과를 볼 수 있다는 뜻입니다. 긴 명령은 Ctrl+B로 백그라운드로 보낼 수 있고, 입력 칸이 비어 있을 때 EscapeBackspace로 셸 모드를 빠져나옵니다.

파일 참조 (@)

@를 입력하면 파일 경로 자동완성이 뜹니다. 원하는 파일을 선택하면 해당 파일을 Claude의 맥락으로 끌어와, “이 파일을 고쳐줘” 같은 요청을 정확하게 보낼 수 있습니다.

이미지 붙여넣기

스크린샷이나 디자인 시안을 Ctrl+V로 붙여넣으면 커서 자리에 [Image #N] 칩이 들어갑니다. 프롬프트 안에서 이 칩을 위치로 가리킬 수 있으니, 텍스트와 이미지를 섞어 가며 설명하면 됩니다.

환경이미지 붙여넣기 키
기본Ctrl+V
iTerm2 (macOS)Cmd+V
Windows / WSLAlt+V

키보드 단축키

대화형 세션의 핵심은 “요청을 보내고 기다리기"가 아니라 “보내는 도중에도 멈추고, 되돌리고, 방향을 바꿀 수 있다"는 점입니다. 그 조종을 단축키가 담당합니다. 플랫폼과 터미널에 따라 일부 동작이 다를 수 있습니다.

단축키동작
EscClaude 응답 중단(중간에 멈추고 방향 전환, 작업물은 유지)
Esc Esc입력이 있으면 초안 비우기, 비어 있으면 되감기 메뉴 열기
Ctrl+C실행 중단 또는 입력 비우기(두 번 누르면 종료)
Ctrl+D세션 종료(EOF)
Shift+Tab 또는 Alt+M권한 모드 순환 전환
Ctrl+R명령 히스토리 역방향 검색
Ctrl+B실행 중인 작업을 백그라운드로 전환
Ctrl+T작업 목록 토글
Ctrl+O트랜스크립트 뷰어 토글(도구 사용 상세 보기)
Ctrl+X Ctrl+K모든 백그라운드 서브에이전트 중단
Ctrl+L화면 다시 그리기(깨진 출력 복구)
Opt+P모델 전환
Opt+T확장 사고(extended thinking) 모드 토글
Opt+O빠른 모드 전환
Up / Down커서 이동, 끝에 닿으면 히스토리 탐색

되감기 (Esc Esc)

입력 칸이 비어 있을 때 Esc를 두 번 누르면 되감기 메뉴 (rewind menu)가 열립니다. 코드와 대화를 이전 시점으로 복원하거나 요약할 수 있는 기능입니다. 자세한 내용은 체크포인팅 문서에서 다룹니다.

히스토리 검색 (Ctrl+R)

Ctrl+R을 누르면 이전 명령을 한 글자씩 좁혀 가며 찾을 수 있습니다. 검색어를 입력하면 일치한 부분이 강조되고, Ctrl+R을 다시 누르면 더 오래된 항목으로 넘어갑니다. Ctrl+S로 검색 범위(이 세션 / 이 프로젝트 / 모든 프로젝트)를 바꾸고, Tab이나 Esc로 수락 후 편집, Enter로 즉시 실행합니다.

macOS의 Option 키 주의

Alt+B, Alt+F, Alt+P 같은 Option 키 조합은 macOS에서 터미널의 Option을 Meta로 설정해야 동작합니다. iTerm2는 Keys 설정에서 Option을 “Esc+“로, Apple Terminal은 “Use Option as Meta Key"를 켜야 합니다.

권한 모드

Claude Code는 파일 수정과 명령 실행을 어디까지 자동으로 허용할지 권한 모드 (permission mode)로 조절합니다. Shift+Tab으로 모드를 순환 전환할 수 있습니다.

모드동작적합한 상황
default작업마다 사용자에게 승인을 요청신중한 일상 작업
plan코드를 수정하지 않고 계획만 수립변경 전 접근 방식 검토
acceptEdits파일 편집을 자동 수락신뢰하는 반복 편집
bypassPermissions권한 프롬프트를 우회격리된 샌드박스 환경 등 한정적 사용
flowchart TD
    A[Shift+Tab 으로
모드 순환] --> B[default
매번 승인 요청] B --> C[plan
계획만 수립] C --> D[acceptEdits
편집 자동 수락] D --> E[bypassPermissions
프롬프트 우회] E --> B

bypass 모드는 권한 확인을 건너뛰므로 믿을 수 있는 격리 환경에서만 쓰는 편이 안전합니다.

가장 안전하고 빠른 시작법
처음에는 Shift+Tab으로 plan 모드부터 시작해 Claude의 접근 방식을 확인한 뒤, 신뢰가 쌓이면 acceptEdits로 전환하는 흐름이 가장 안전하고 빠릅니다.

세션 안에서 서브에이전트가 돌 때

대화형 세션 도중 Claude가 작은 일을 맡기려 서브에이전트 (subagent)를 띄울 때가 있습니다. 이때 사용자가 직접 손을 댈 필요는 없지만, 세 가지 동작을 알아 두면 세션을 헤매지 않습니다.

  • 백그라운드 기본 실행 (v2.1.198+): 서브에이전트는 기본적으로 백그라운드에서 돕니다. 메인 세션이 멈춰서 기다리지 않아도 되지만, 결과가 필요해지면 런타임이 알아서 앞으로 끌어옵니다.
  • 권한 프롬프트는 메인 세션에: 서브에이전트가 승인이 필요한 도구를 부르면 그 프롬프트는 메인 세션에 표시됩니다. v2.1.186부터는 프롬프트가 어떤 서브에이전트가 묻는지 이름까지 알려 주고, Esc로 그 호출 하나만 따로 거부할 수 있습니다.
  • 권한 모드는 세션에서 상속: 서브에이전트는 현재 세션의 권한 모드를 그대로 물려받습니다. acceptEditsbypassPermissions 상태의 부모 세션은 자식에게 우선하며, spawn 시점에 모드를 따로 지정하던 옛 방식은 v2.1.213부터 무시됩니다.

즉, 권한 모드를 한 번 정해 두면 그 세션에서 Claude가 만드는 서브에이전트까지 같은 태도를 따릅니다. 더 깊은 동작(중첩 깊이 제한, 모델 주입 등)은 서브에이전트 문서에서 다룹니다.

MoAI-ADK와 권한 모드

MoAI-ADK도 워크플로 단계에 맞춰 이 모드들을 갈아 씁니다. 특히 plan 모드는 “계획은 깊게 검토하고 구현은 승인을 받은 뒤에 시작한다"는 MoAI-ADK의 구현 착수 승인 게이트 (plan→run 휴먼 게이트)와 발상이 정확히 같습니다. 값비싼 구현 턴에 들어가기 전에 값싼 읽기 전용 턴으로 방향을 못 박아 두는 것이 토큰 관점에서도 가장 경제적입니다.

멀티라인 입력, vim 모드, 출력 스타일

멀티라인 입력

한 프롬프트에 여러 줄을 입력하는 방법은 터미널마다 다릅니다.

방법단축키비고
빠른 줄바꿈\ + Enter모든 터미널에서 동작
Shift+EnterShift+EnteriTerm2, WezTerm, Ghostty, Kitty, Warp 등에서 기본 지원
컨트롤 시퀀스Ctrl+J설정 없이 어디서나 동작
붙여넣기 모드직접 붙여넣기코드 블록, 로그에 적합

VS Code, Cursor, Windsurf, Zed 등에서 Shift+Enter 바인딩이 필요하면 /terminal-setup을 실행하면 됩니다.

vim 모드

/config의 Editor mode에서 vim 스타일 편집을 켤 수 있습니다. NORMAL 모드와 INSERT 모드를 Esci/a로 오가며, h/j/k/l 이동, dd/yy/p 편집, iw/a" 같은 텍스트 객체까지 익숙한 vim 동작을 그대로 사용합니다. 단, Ctrl+V 블록 비주얼 모드는 지원하지 않습니다.

출력 스타일과 부가 기능

/config에서 테마와 표시 옵션, 세션 요약(Session recap) 같은 설정을 조정합니다. 그 밖에 자주 쓰는 부가 기능은 다음과 같습니다.

  • /btw: 대화 히스토리를 오염시키지 않고 현재 작업에 대해 빠르게 질문합니다. 답변은 일시적인 오버레이로만 표시됩니다.
  • /recap: 세션의 요약(session recap)을 생성합니다. 자동으로는 3분 이상 또는 3턴 이상 진행된 세션에서 활성화됩니다.
  • 작업 목록: 다단계 작업에서 Claude가 만든 작업 목록을 Ctrl+T로 펼치거나 접습니다. 작업 목록은 컨텍스트 압축 중에도 유지됩니다.
  • 확장 사고 토글: Option+T(macOS) 또는 Alt+T로 확장 사고 모드를 켜고 끕니다.

관련 문서

참고 자료