Codex CLI instant_interrupt 사용법: 응답 중 새 지시로 작업 방향 바꾸기
Codex CLI instant_interrupt를 켜고 긴 모델 응답 도중 새 지시로 작업 방향을 바꾸는 방법을 설명합니다. 0.158.0·0.159.2의 버전 경계와 대기열 차이, 실행 중인 프로세스는 별도로 확인해야 하는 한계까지 정리합니다.
왜 필요한가 · Codex의 긴 답변이나 명령 실행이 끝나기 전에 조건이 바뀌어도, 새 지시가 언제 반영되는지 몰라 기다리거나 작업 전체를 중단하기 쉽기 때문입니다.
누구에게 · Codex CLI 작업 도중 요구사항을 바로 수정하고 싶지만 대기열·수동 중단·실행 중인 프로세스의 차이가 헷갈리는 사용자
읽고 나면 · instant_interrupt의 지원 버전과 적용 상태를 확인하고, 새 지시로 진행 중인 턴을 선회시킨 뒤 남아 있는 프로세스와 파일 변경을 따로 점검할 수 있습니다.
핵심 요약
- instant_interrupt는 Codex CLI 0.159.0에 추가된 opt-in 기능이며 0.159.2에서도 기본값은 false, 단계는 under development입니다.
- 기능을 켜면 모델이 답하는 중 새 입력을 Enter로 보내 현재 응답을 선회시킬 수 있습니다. 기능을 끄면 같은 입력이 다음 도구 호출 뒤 보낼 대기열에 남습니다.
- codex --enable instant_interrupt는 해당 실행에만 적용하고, codex features enable instant_interrupt는 config.toml에 저장합니다.
- 새 지시는 실행 중인 프로세스를 자동 종료하지 않습니다. /ps로 남은 작업을 확인하고 필요할 때 /stop으로 따로 정리해야 합니다.
Codex CLI instant_interrupt는 모델이 긴 답변을 만드는 도중 새 지시를 보내 현재 턴의 방향을 바꾸는 기능입니다. 기능을 끈 0.159.2 실습에서는 새 입력이 대기열에 남았고, 기능을 켜자 진행 중인 응답이 새 조건으로 선회했습니다. 다만 새 지시를 모델에 전달하는 것과 이미 시작된 운영체제 프로세스를 멈추는 것은 별개입니다.[1][2][3]
검증 범위는 격리한 Linux 저장소의 Codex CLI 0.158.0과 0.159.2입니다. 버전 경계, 기본값, 설정 저장, 모델 응답 선회와 TUI에 남은 백그라운드 상태를 기준으로 설명합니다. 기준일은 2026년 9월 30일입니다.
instant_interrupt가 필요한 이유
Codex에게 긴 목록을 요청했는데 첫 두 항목만 읽어도 방향이 틀렸다는 사실을 알 수 있습니다. 이때 선택지는 보통 세 가지입니다.
현재 응답이 끝날 때까지 기다린 뒤 수정 요청하기
Esc로 턴을 끊고 다시 지시하기새 조건을 입력해 진행 중인 턴을 바로 선회시키기
앞의 두 방법은 기다리는 시간이 생기거나, 중단과 새 지시를 두 단계로 나눠야 합니다. instant_interrupt는 세 번째 흐름을 위한 기능입니다. 답변이 출력되는 동안 새 지시를 입력하고 Enter를 누르면, Codex가 미완성 응답을 계속 늘리는 대신 새 조건으로 다음 처리를 이어 갑니다.[1][3]

개념도입니다. 실제 제품 화면이 아닙니다. 아래 실습처럼 새 지시는 모델의 진행 방향을 바꾸지만, 이미 실행한 프로세스까지 자동으로 종료하지는 않습니다. 작은 화면에서는 이미지를 눌러 확대하세요.
지원 버전과 기본 상태
공식 0.159.0 릴리스는 instant_interrupt를 opt-in 기능으로 추가했다고 설명합니다. 적용 범위는 모델 응답과 오래 걸리는 code-mode 호출입니다. 버전이 맞더라도 자동으로 켜지지는 않습니다.[1]
먼저 현재 버전과 기능 목록을 확인합니다.
codex --version
codex features list격리한 0.159.2 실행에서는 다음 행이 표시됩니다.
codex-cli 0.159.2
instant_interrupt under development falseunder development는 안정 기능으로 확정된 상태가 아니라는 뜻이고, 마지막 false는 현재 적용값이 꺼져 있다는 뜻입니다. 태그 rust-v0.159.0의 기능 정의도 default_enabled: false로 설정돼 있습니다.[4]
마지막 미지원 버전과의 경계도 확인할 수 있습니다.
CODEX_HOME=/path/to/isolated-home \
npx -y @openai/codex@0.158.0 --version
CODEX_HOME=/path/to/isolated-home \
npx -y @openai/codex@0.158.0 \
--enable instant_interrupt features list첫 명령은 버전을, 두 번째 명령은 미지원 오류를 각각 보여 줍니다.
codex-cli 0.158.0
Error: Unknown feature flag: instant_interrupt따라서 instant_interrupt 행이 없거나 같은 오류가 난다면 설정 파일을 먼저 고치기보다 Codex CLI 버전을 확인합니다. 기본 설치부터 점검해야 한다면 WSL에 OpenAI Codex CLI 설치하기에서 command -v codex와 버전 확인 순서를 볼 수 있습니다.
한 번만 켜서 시험하기
현재 실행에서만 기능을 시험하려면 --enable 옵션을 붙입니다.
codex --enable instant_interrupt실제 적용값만 빠르게 확인할 수도 있습니다.
codex --enable instant_interrupt features list이번 0.159.2 실행에서는 다음처럼 바뀌었습니다.
instant_interrupt under development true이 방법은 기존 config.toml을 바꾸지 않고 기능 차이를 확인할 때 유용합니다. 중요한 저장소에서 바로 시험하기보다 읽기 전용 설명 요청이나 임시 Git 저장소처럼 결과를 되돌리기 쉬운 작업으로 시작합니다.
config.toml에 계속 적용하기
계속 사용할 때는 기능 명령으로 저장합니다.
codex features enable instant_interrupt격리한 CODEX_HOME에는 다음 설정이 생겼습니다.
[features]
instant_interrupt = true저장 뒤 상태를 다시 확인합니다.
codex features list기능을 켜면 다음 경고도 함께 표시됩니다.
Under-development features enabled: instant_interrupt.
Under-development features are incomplete and may behave unpredictably.되돌릴 때는 파일을 직접 편집하는 대신 대응 명령을 사용할 수 있습니다.
codex features disable instant_interrupt설정이 여러 프로필에 흩어져 있다면 현재 실행의 CODEX_HOME이 어디인지 먼저 확인합니다. 격리 실습용 홈에 저장한 값을 평소 Codex가 자동으로 읽는다고 가정하면 안 됩니다.
응답 중 새 지시 보내기
사용 방법은 별도 슬래시 명령이 아닙니다. Codex가 답하는 동안 입력창에 새 조건을 적고 Enter로 제출합니다.
먼저 100개의 Linux 명령을 길게 설명해 달라고 요청합니다.
Explain 100 Linux commands in a numbered list.
Give four detailed sentences for every command.instant_interrupt를 끈 실행에서 새 지시를 보내자 기존 답변은 41번 항목까지 계속됐고, 새 입력은 다음 안내와 함께 대기열에 남았습니다.
Messages to be submitted after next tool call
(press esc to interrupt and send immediately)
↳ Change direction now. Stop the list and answer only with the word QUEUED.같은 0.159.2에서 기능만 켜면 흐름이 달라집니다. 기존 답변이 두 번째 항목을 출력하던 중 다음 지시를 보냅니다.
Change direction now.
Stop the list and answer only with the word STEERED.긴 목록은 더 이어지지 않고 새 사용자 입력이 바로 대화에 들어갑니다.
› Change direction now. Stop the list and answer only with the word STEERED.
• STEERED기능을 끈 실행과 켠 실행의 차이는 입력 가능 여부가 아닙니다. 두 상태 모두 새 문장을 입력할 수 있습니다. 이번 비활성 실습에서는 TUI가 새 입력을 대기열에 표시하며 after next tool call이라고 안내했고, 활성 실습에서는 현재 응답을 선회시키는 입력으로 처리했습니다.
Code-mode 대기 중 선회
공식 릴리스가 명시한 두 번째 범위는 오래 걸리는 code-mode 호출입니다. 공식 구현은 code-mode의 exec나 wait가 새 입력에 양보하더라도 실행 중인 셀 자체는 중지하지 않는다고 설명합니다.[1][2] 0.159.2 TUI에서는 이 경계를 보기 위해 20초 동안 기다리는 Python 명령을 요청합니다.
python3 -c 'import time; print("START", flush=True); time.sleep(20); print("DONE")'명령을 기다리는 중 다음 지시를 보냅니다.
Change direction: do not wait for that command;
answer only TOOL-STEERED.이 실행에서는 Codex가 TOOL-STEERED로 방향을 바꾼 뒤에도 백그라운드 터미널 상태가 표시됩니다.
• TOOL-STEERED
1 background terminal running · /ps to view · /stop to close20초 명령이 끝난 뒤 /ps를 열면 목록은 비어 있습니다.
/ps
Background terminals
• No background terminals running.공식 구현은 나중의 wait 호출에서 결과를 수집할 수 있도록 실행 ID를 남깁니다.[2] 위 TUI 관찰도 새 지시 전달과 프로세스 종료가 별개라는 점과 일치합니다. 다만 이 한 번의 관찰을 모든 일반 셸 실행, 설치 프로그램, 배포 명령이 같은 방식으로 양보한다는 보장으로 확대하면 안 됩니다.
즉 instant_interrupt의 interrupt는 새 사용자 입력을 모델에 즉시 반영하는 선회에 가깝습니다. 운영체제 프로세스에 무조건 종료 신호를 보내는 기능으로 이해하면 안 됩니다.
Esc, /ps, /stop의 역할
세 기능을 나눠 두면 작업을 덜 헷갈립니다.
| 동작 | 쓰는 시점 | 확인할 점 |
|---|---|---|
새 지시 + Enter | 현재 답변의 조건이나 목표를 바로 바꿀 때 | instant_interrupt가 true인지 확인 |
Esc | 현재 턴을 사람이 명시적으로 끊을 때 | 입력 중인 문장과 대기열 상태 확인 |
/ps | 남아 있는 백그라운드 터미널을 볼 때 | 프로세스가 실제로 끝났는지 확인 |
/stop | 남은 백그라운드 작업을 종료할 때 | 중단해도 되는 프로세스인지 먼저 확인 |
모델 응답이 잘못된 방향으로 길어지는 문제라면 새 지시만으로 충분할 수 있습니다. 백그라운드 터미널 표시가 보인다면 새 지시가 반영된 뒤에도 /ps로 별도 상태를 확인합니다.
💡 Tip
“그만해”만 보내기보다 “현재 목록은 멈추고, 변경 파일은 건드리지 말고, 테스트 실패 원인만 세 줄로 요약해”처럼 중단할 범위와 다음 목표를 함께 적는 편이 정확합니다. 새 지시를 보낸 직후에는 /ps와 git status를 차례로 확인하세요.
사용할 때 알아둘 한계
이미 출력된 내용
새 지시는 미완성 응답의 다음 진행을 바꾸지만, 터미널에 이미 출력된 설명을 지우지 않습니다. 앞부분이 틀렸다면 최종 답변에서 다시 정리해 달라고 요청해야 합니다.
파일 변경과 되돌리기
선회 전에 도구가 파일을 수정했다면 그 변경은 작업 폴더에 남을 수 있습니다. 새 지시를 보낸 뒤 다음 항목을 확인합니다.
git status --short
git diff --stat
git diffinstant_interrupt는 Codex 권한 설정의 샌드박스와 승인 정책도 바꾸지 않습니다. 쓰기 범위와 승인 기준은 기존 설정이 그대로 적용됩니다.
프로세스 종료는 별도
앞선 0.159.2 TUI 관찰처럼 모델이 새 방향으로 답한 뒤에도 백그라운드 터미널 상태가 남을 수 있습니다. /ps로 실제 상태를 확인하고, TUI가 종료 안내를 표시한 항목만 /stop으로 정리합니다.
Under-development 단계
0.159.2는 이 기능을 under development로 표시합니다. 스트리밍 연결, 재시도, compaction, code-mode 대기처럼 내부 상태가 달라지면 보이는 시점과 메시지도 바뀔 수 있습니다. 공식 변경 내역은 새 입력이 모델 응답과 재시도 대기를 선점하고, WebSocket의 이어지는 요청 상태를 보존하도록 보완됐다고 설명하지만 모든 명령이 같은 방식으로 즉시 취소된다는 뜻은 아닙니다.[3][5]
여러 새 지시의 충돌
짧은 시간에 수정 지시를 여러 개 보내면 서로 충돌할 수 있습니다. 마지막 문장만 무조건 남는다고 가정하지 말고, 방향을 바꿀 때는 취소할 목표와 새 목표를 한 메시지에 함께 씁니다.
안전한 실습 순서
codex --version으로 현재 버전을 확인하고, 해당 릴리스가instant_interrupt를 포함하는지 확인합니다. 최초 도입 버전은0.159.0입니다.codex features list에서instant_interrupt행과 현재 값을 봅니다.처음에는
codex --enable instant_interrupt로 한 실행에서만 켭니다.파일을 바꾸지 않는 긴 설명 요청을 시작합니다.
답변 중 “목록을 멈추고 한 문장만 답해” 같은 새 지시를 보냅니다.
기존 응답이 멈추고 새 입력이 대화에 표시되는지 확인합니다.
code-mode 또는 백그라운드 터미널 실습 뒤에는
/ps,git status,git diff를 확인합니다.계속 사용할 때만
codex features enable instant_interrupt로 저장합니다.
검증 환경은 다음과 같습니다.
| 항목 | 확인값 |
|---|---|
| 운영체제 커널 | Linux 6.8.0-142-generic |
| Node.js | v22.23.1 |
| npm | 10.9.8 |
| 비교 버전 | Codex CLI 0.158.0, 0.159.2 |
| 기능 단계 | under development |
| 테스트 범위 | 모델 응답 선회, 대기열 비교, 20초 명령 뒤 TUI 백그라운드 상태 |
정리
Codex CLI instant_interrupt는 긴 작업을 전부 취소하는 스위치가 아니라, 진행 중인 모델 응답에 새 사용자 지시를 더 빨리 전달하는 기능입니다. 0.159.0부터 추가됐고 0.159.2에서도 기본값은 꺼져 있습니다. 먼저 --enable로 한 번만 시험하고, 동작이 맞을 때 설정 파일에 저장하는 순서가 안전합니다.
기능을 켠 실습에서는 길게 이어지던 명령 목록이 새 지시 뒤 한 단어 답변으로 선회합니다. 기능을 끈 실행에서는 TUI가 같은 입력을 after next tool call 대기열에 표시합니다. 20초 명령 실습 뒤에는 백그라운드 터미널 상태도 따로 나타납니다. 새 지시가 반영됐다는 사실과 프로세스·파일 변경이 정리됐다는 사실은 별도로 확인해야 합니다.
여러 Codex 작업 자체를 찾고 전환하려는 목적이라면 Codex CLI의 codex agents 사용법이 다른 범위를 다룹니다. instant_interrupt는 현재 턴의 방향을 바꾸고, codex agents는 여러 루트 작업을 탐색하고 정리합니다.
참고 자료
자주 묻는 질문
- Codex CLI instant_interrupt는 어느 버전부터 사용할 수 있나요?
- 공식 릴리스 기준 0.159.0부터 추가됐습니다. 격리 실행에서 0.158.0은 Unknown feature flag 오류를 내고, 0.159.2는 instant_interrupt를 under development 기능으로 표시합니다.
- instant_interrupt를 켜면 실행 중인 명령도 즉시 종료되나요?
- 아닙니다. 새 지시를 모델에 전달하는 것과 운영체제 프로세스를 종료하는 것은 별개입니다. 0.159.2 TUI 실습에서도 긴 명령은 백그라운드에 남아 /ps로 상태를 따로 확인해야 했습니다.
- 설정 파일을 바꾸지 않고 잠깐 시험할 수 있나요?
- codex --enable instant_interrupt로 시작하면 그 실행에만 기능을 켤 수 있습니다. 계속 사용할 때만 codex features enable instant_interrupt로 config.toml에 저장합니다.
- Esc로 중단하는 것과 무엇이 다른가요?
- Esc는 사용자가 현재 턴을 명시적으로 끊는 수동 동작입니다. instant_interrupt는 새 지시를 제출하는 순간 진행 중인 모델 응답을 선회시키며, 기능을 끈 상태에서는 TUI가 새 입력을 대기열에 두고 Esc로 즉시 보낼 수 있다고 안내합니다.
- 실험 기능을 항상 켜 두어도 되나요?
- 0.159.2에서는 under development로 표시되고 예측하기 어려울 수 있다는 경고도 나옵니다. 중요한 배포나 삭제 작업에서는 새 지시만 믿지 말고 프로세스, git diff, 테스트 결과를 따로 확인하는 편이 안전합니다.
이 글은 입문자 기준으로 이해하기 쉽게 정리했으며, 내용은 운영 과정에서 순차적으로 보완될 수 있습니다. 환경에 따라 화면이나 명령이 다르게 보일 수 있으니, 막히는 부분이 있으면 isense2021@gmail.com 로 알려주세요.