Codex CLI instant_interrupt 사용법: 응답 중 새 지시로 작업 방향 바꾸기

Codex CLI instant_interrupt를 켜고 긴 모델 응답 도중 새 지시로 작업 방향을 바꾸는 방법을 설명합니다. 0.158.0·0.159.2의 버전 경계와 대기열 차이, 실행 중인 프로세스는 별도로 확인해야 하는 한계까지 정리합니다.

Codex CLI instant_interrupt 사용법: 응답 중 새 지시로 작업 방향 바꾸기

왜 필요한가 · 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]

기본 상태에서는 새 지시가 대기열에 남고 instant_interrupt를 켜면 진행 중인 응답이 새 방향으로 선회하는 개념도

개념도입니다. 실제 제품 화면이 아닙니다. 아래 실습처럼 새 지시는 모델의 진행 방향을 바꾸지만, 이미 실행한 프로세스까지 자동으로 종료하지는 않습니다. 작은 화면에서는 이미지를 눌러 확대하세요.

지원 버전과 기본 상태

공식 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    false

under 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 close

20초 명령이 끝난 뒤 /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 diff

instant_interrupt는 Codex 권한 설정의 샌드박스와 승인 정책도 바꾸지 않습니다. 쓰기 범위와 승인 기준은 기존 설정이 그대로 적용됩니다.

프로세스 종료는 별도

앞선 0.159.2 TUI 관찰처럼 모델이 새 방향으로 답한 뒤에도 백그라운드 터미널 상태가 남을 수 있습니다. /ps로 실제 상태를 확인하고, TUI가 종료 안내를 표시한 항목만 /stop으로 정리합니다.

Under-development 단계

0.159.2는 이 기능을 under development로 표시합니다. 스트리밍 연결, 재시도, compaction, code-mode 대기처럼 내부 상태가 달라지면 보이는 시점과 메시지도 바뀔 수 있습니다. 공식 변경 내역은 새 입력이 모델 응답과 재시도 대기를 선점하고, WebSocket의 이어지는 요청 상태를 보존하도록 보완됐다고 설명하지만 모든 명령이 같은 방식으로 즉시 취소된다는 뜻은 아닙니다.[3][5]

여러 새 지시의 충돌

짧은 시간에 수정 지시를 여러 개 보내면 서로 충돌할 수 있습니다. 마지막 문장만 무조건 남는다고 가정하지 말고, 방향을 바꿀 때는 취소할 목표와 새 목표를 한 메시지에 함께 씁니다.

안전한 실습 순서

  1. codex --version으로 현재 버전을 확인하고, 해당 릴리스가 instant_interrupt를 포함하는지 확인합니다. 최초 도입 버전은 0.159.0입니다.

  2. codex features list에서 instant_interrupt 행과 현재 값을 봅니다.

  3. 처음에는 codex --enable instant_interrupt로 한 실행에서만 켭니다.

  4. 파일을 바꾸지 않는 긴 설명 요청을 시작합니다.

  5. 답변 중 “목록을 멈추고 한 문장만 답해” 같은 새 지시를 보냅니다.

  6. 기존 응답이 멈추고 새 입력이 대화에 표시되는지 확인합니다.

  7. code-mode 또는 백그라운드 터미널 실습 뒤에는 /ps, git status, git diff를 확인합니다.

  8. 계속 사용할 때만 codex features enable instant_interrupt로 저장합니다.

검증 환경은 다음과 같습니다.

항목확인값
운영체제 커널Linux 6.8.0-142-generic
Node.jsv22.23.1
npm10.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 로 알려주세요.