Codex CLI /voice 설정법: Voice conversations 켜기와 연결 오류 점검

Codex CLI Voice conversations를 켜는 법과 /voice 음성 대화 명령을 설명합니다. 공식 구현의 실시간 전사 상태와 Linux에서 확인한 voice connection failed 오류, 버전·오디오·네트워크 점검 순서를 함께 정리합니다.

Codex CLI /voice 설정법: Voice conversations 켜기와 연결 오류 점검

왜 필요한가 · 긴 작업 지시를 터미널에 타이핑하지 않고 말로 전달할 수 있는 Codex CLI 음성 대화 기능이 추가됐지만, 실험 기능 활성화와 오디오·연결 조건을 따로 확인해야 하기 때문입니다.

누구에게 · Codex CLI에서 음성으로 작업을 설명하고 실시간 전사를 확인하려는 사용자와 /voice 연결 오류를 구분하고 싶은 사용자

읽고 나면 · Voice conversations를 활성화하고 /voice의 상태와 제어 명령을 읽은 뒤, 연결이 실패했을 때 기능·런타임·오디오·네트워크 범위를 순서대로 점검할 수 있습니다.

핵심 요약

  • Voice conversations는 Codex CLI 0.155.0의 지원 빌드에 추가된 실험 기능이며 기본값은 꺼짐입니다.
  • 실행 중인 Codex에서 /experimental을 열어 Voice conversations를 선택하고 저장한 뒤 Codex를 다시 시작합니다.
  • /voice는 음성 대화를 시작하거나 종료하고, /voice mute 또는 기본 단축키 Ctrl+X는 마이크를 전환하며, /voice stop은 세션을 명시적으로 끝냅니다.
  • 메뉴에 기능이 보여도 네이티브 음성 런타임 무결성, 오디오 장치 접근, 음성 세션 연결은 별도로 확인해야 합니다.

Codex CLI /voice는 터미널에서 마이크로 작업을 설명하고 실시간 전사를 확인하는 음성 대화 기능입니다. Codex CLI 0.155.0의 지원 빌드에 실험 기능으로 추가됐으며, 기본 상태에서는 꺼져 있습니다. 기능을 켠 뒤에도 설치 패키지의 네이티브 음성 런타임과 마이크·스피커 경로가 준비돼야 실제 대화를 시험할 수 있습니다.[1][2][3]

이번에는 Linux 환경의 Codex CLI 0.155.1에서 Voice conversations 메뉴, 임시 활성화, /voice 시작과 연결 실패 화면까지 직접 확인했습니다. 현재 호스트에서는 기능이 표시되고 활성화 값도 적용됐지만 실제 음성 연결은 voice connection failed로 끝났습니다. 성공 화면을 꾸며내지 않고, 공식 구현에서 확인되는 정상 상태와 이번 환경에서 관찰한 실패 범위를 나눠 설명합니다. 기준일은 2026년 9월 21일입니다.

Codex CLI 음성 대화란?

Voice conversations는 문장을 한 번 받아쓰고 입력창에 붙이는 기능만은 아닙니다. Codex CLI가 로컬 마이크·스피커를 사용하는 WebRTC 음성 세션을 열고, 사용자의 말과 Codex 응답을 실시간 전사로 보여 주는 대화 모드입니다.[2]

음성으로 전달한 요청은 일반 Codex 작업으로 이어집니다. 코드 확인, 파일 수정, 테스트 같은 작업은 기존 턴에서 처리하며 최종 답을 음성으로 들을 수 있습니다. 반대로 텍스트로 입력한 요청에 대한 답변은 음성으로 재생하지 않습니다. 공식 구현은 음성 요청에 대한 최종 답변만 재생하며, 내부 추론이나 작업 중 설명은 음성으로 내보내지 않습니다.[2]

이 구분이 필요한 이유는 단순합니다.

  • 긴 구현 배경을 말로 먼저 설명하고 화면에서 전사 내용을 확인할 수 있음

  • Codex가 답하는 동안 끼어들어 다음 조건을 전달할 수 있음

  • 마이크와 Codex 출력의 활동 상태를 터미널 하단에서 구분할 수 있음

  • 음성 입력 뒤에도 파일 변경과 정책상 필요한 승인은 기존 화면에서 검토할 수 있음

마이크 입력이 실시간 전사를 거쳐 Codex 작업과 사람이 확인할 변경 결과로 이어지는 개념도

개념도입니다. 실제 제품 화면이 아니며, 음성 입력이 승인 절차를 건너뛴다는 뜻도 아닙니다.

지원 버전과 실험 기능

Voice conversations는 Codex CLI 0.155.0의 지원 빌드에 포함됐습니다. 릴리스 노트는 /voice 대화, 실시간 전사, 마이크 제어를 experimental 기능으로 안내합니다. 버전만 맞는다고 충분한 것은 아니며, 설치 패키지에 지원되는 네이티브 음성 런타임이 포함돼 있어야 메뉴가 노출됩니다.[1][3]

먼저 설치 버전과 기능 상태를 확인합니다.

codex --version
codex features list

이번 환경의 결과는 다음과 같았습니다.

codex-cli 0.155.1
realtime_conversation    experimental    false

마지막 값이 false인 것은 오류가 아닙니다. 실험 기능의 기본값이 꺼져 있다는 뜻입니다. 0.155.0보다 낮다면 기존 WSL Codex CLI 설치 방법을 참고해 설치 경로부터 확인한 뒤 최신 안정 버전으로 업데이트합니다.

command -v codex
codex --version
codex update

패키지 관리자 설치에서는 업데이트 명령이 현재 설치 방식에 맞는 명령을 안내할 수 있습니다. 업데이트 뒤에도 버전이 그대로라면 command -v codex로 실행 중인 바이너리가 예상 경로인지 먼저 확인합니다.

/experimental에서 음성 대화 켜기

실행 중인 Codex CLI 입력창에서 다음 명령을 엽니다.

/experimental

목록에서 Voice conversations로 이동해 Space를 누르고, 체크 표시가 생기면 Enter로 저장합니다.

Experimental features

[ ] Network proxy
[ ] Worktrees
[x] Voice conversations   Talk with Codex using /voice.
[ ] Prevent sleep while running

Press space to select or enter to save

저장 뒤에는 Codex를 종료하고 다시 시작합니다. 공식 안내도 활성화 후 재시작한 다음 /voice를 사용하라고 설명합니다.[3]

설정 파일을 바꾸기 전에 현재 실행에서만 시험하려면 셸에서 다음처럼 시작할 수 있습니다.

codex --enable realtime_conversation

실제 적용값도 따로 확인할 수 있습니다.

codex --enable realtime_conversation features list

이번 실행에서는 다음처럼 true가 표시됐습니다.

realtime_conversation    experimental    true

계속 사용할 때는 /experimental 화면에서 저장하거나 아래 명령으로 config.toml에 기능을 활성화합니다.

codex features enable realtime_conversation

되돌릴 때는 다음 명령을 사용합니다.

codex features disable realtime_conversation

/voice 시작과 제어 방법

기능을 켜고 Codex를 다시 시작한 뒤 입력창에서 /voice를 실행합니다.

/voice

정상 연결에서는 하단 상태가 connecting에서 listening으로 바뀝니다. 말하거나 Codex가 답할 때는 마이크와 스피커의 최근 음량을 점 형태의 작은 미터로 보여 줍니다. 공식 구현에 정의된 주요 상태는 다음과 같습니다.[2][4]

상태의미
connecting음성 연결과 장치를 준비하는 중
listening마이크 입력을 듣는 중
speakingCodex 음성 출력이 재생되는 중
muted마이크 입력을 잠시 끈 상태
heard애니메이션이 켜진 경우, Codex 음성 출력 중 사용자 발화가 감지됐음을 잠시 표시

음성 세션을 제어하는 명령은 세 가지입니다.

/voice
/voice mute
/voice stop
  • /voice: 음성 대화를 시작하거나 현재 음성 대화를 토글해 종료

  • /voice mute: 마이크 음소거와 해제 전환

  • /voice stop: 음성 세션 종료

활성 음성 세션에서는 기본 단축키 Ctrl+X로도 마이크를 전환할 수 있습니다. 키맵 설정에 따라 다른 키로 바뀌거나 해제돼 있을 수 있으며, 팝업이나 다른 대화 상자가 열려 있을 때는 오동작을 피하려고 단축키가 처리되지 않을 수 있습니다.[4][6]

음성 모드를 시작하지 않은 상태에서 /voice mute를 입력하면 이번 환경에서는 다음 안내가 나왔습니다.

Start voice mode before muting the microphone.

즉 mute는 별도 녹음 기능이 아니라 현재 스레드에서 이미 시작된 음성 세션을 제어합니다. 다른 스레드로 전환하거나 연결이 끊어지면 기존 음성 세션도 정리됩니다.[2]

실시간 전사와 명령 확인

이번 환경에서는 음성 연결에 실패해 실제 전사 화면까지 재현하지 못했습니다. 아래 내용은 공식 구현에 정의된 동작과 전사 결과를 검토할 때의 주의사항을 기준으로 설명합니다. 음성 세션이 연결되면 사용자의 말과 Codex 답변이 현재 대화에 전사되지만, 음성 인식 결과를 곧바로 안전한 명령으로 취급하면 안 됩니다.[2]

예를 들어 다음 두 문장은 소리만으로 전달할 때 차이가 작게 들릴 수 있습니다.

테스트 파일만 지워줘.
테스트가 만든 파일만 지워줘.

첫 문장은 실제 테스트 소스까지 삭제하라는 뜻으로 읽힐 수 있고, 두 번째는 테스트 실행 중 생성된 임시 파일을 뜻할 수 있습니다. 삭제·덮어쓰기·배포·권한 변경처럼 되돌리기 어려운 작업은 전사 문장과 Codex가 제안한 명령을 화면에서 다시 확인합니다.

💡 Tip

음성은 긴 배경 설명에 쓰고, 파일명·브랜치명·명령 옵션처럼 철자가 중요한 값은 입력창에 직접 적는 편이 안전합니다. 말로 지시했더라도 실제 변경 전에는 diff와 테스트 결과를 화면에서 확인하세요.

공식 구현은 음성 요청을 일반 Codex 턴으로 넘기므로, 음성 모드가 샌드박스나 승인 정책을 별도로 완화하지 않습니다. 현재 정책이 승인을 요구하는 작업은 기존 승인 화면에서 판단합니다. 각 승인 모드의 차이는 OpenAI Codex 권한 설정에서 확인할 수 있습니다.[2]

voice connection failed 확인 순서

이번 Linux 호스트에서는 /voice를 실행한 뒤 음성 대화가 시작되지 않았습니다.

Failed to connect voice mode: voice connection failed
Voice conversation ended: requested

같은 실행에서 다음 항목은 확인됐습니다.

점검 항목결과
Codex CLI 버전0.155.1
기능 단계experimental
realtime_conversation 적용값true
/experimental의 Voice conversations표시됨
Codex 일반 WebSocket 진단연결 성공
/voice 실제 연결실패

이 결과는 실험 기능이 켜졌다고 실제 음성 연결까지 보장되지는 않는다는 점만 증명합니다. 공식 구현상 별도로 확인할 수 있는 범위는 런타임 무결성, 오디오 장치 접근, 음성 세션 연결입니다. 이번 오류의 실제 원인은 확인되지 않았으며, 아래 항목은 원인 단정이 아니라 진단 범위를 줄이는 순서입니다.[2][3]

1. 버전과 적용값

codex --version
codex features list

realtime_conversation 행이 없으면 현재 버전이 기능을 포함하는지 공식 릴리스와 비교합니다. 행은 있지만 false라면 기능 저장과 재시작 여부를 확인합니다. 설정 충돌을 피하려면 한 번만 --enable로 실행해 볼 수 있습니다.

codex --enable realtime_conversation

2. Voice conversations 메뉴가 보이지 않을 때

공식 구현은 현재 클라이언트 패키지에 네이티브 음성 런타임이 없으면 /experimental의 Voice conversations 항목 자체를 숨깁니다.[3] 메뉴가 보인다는 사실은 클라이언트의 지원 확인이 운영체제 대상, 패키지 배치, helper 실행 파일과 런타임 라이브러리를 찾았다는 뜻입니다. 런타임이 실제로 로드됐거나 오디오 장치와 음성 세션이 열렸다는 증거는 아닙니다.

메뉴가 보이지 않을 때는 임의 설정 키를 먼저 추가하기보다 설치 경로와 패키지를 확인합니다.

command -v codex
codex --version
codex doctor --summary

3. 마이크·스피커 경로

운영체제 설정에서 터미널이나 Codex가 마이크를 사용할 수 있는지 확인합니다. 로컬 데스크톱이 아닌 SSH, 컨테이너, 원격 서버에서는 서버의 /dev/snd 존재만으로 내 PC의 마이크가 전달됐다고 볼 수 없습니다.

WSL에서도 Windows 마이크가 Linux 프로세스에 실제 입력 장치로 전달되는지 별도로 확인해야 합니다. 장치가 여러 개면 운영체제의 기본 입력·출력 장치가 원하는 마이크와 스피커인지 먼저 맞춥니다. 이 단계에서는 무작정 오디오 패키지를 설치하기보다 현재 환경의 오디오 서버와 권한 상태를 확인하는 편이 안전합니다.

4. 인증과 네트워크 진단

codex doctor는 설치, 인증, 일반 네트워크와 WebSocket 연결을 진단합니다.[5]

codex doctor --summary

이번 호스트에서는 일반 WebSocket 검사는 통과했지만 /voice는 실패했습니다. 따라서 일반 연결 성공만으로 음성 WebRTC와 오디오 장치 준비까지 정상이라고 판단할 수 없습니다. 반대로 네트워크나 인증 진단부터 실패한다면 그 문제를 먼저 해결합니다.

5. 계속 실패할 때 확인할 범위

Voice conversations는 아직 기본 활성화된 안정 기능이 아닙니다. 지원 플랫폼, 런타임 패키징, 오류 메시지와 제어 방식이 바뀔 수 있습니다. 현재 화면과 설치 버전의 릴리스 노트를 기준으로 판단하고, 성공하지 않은 음성 대화를 완료 사례처럼 기록하지 않습니다.

음성으로 맡기기 좋은 작업

음성 입력은 철자가 정확해야 하는 명령보다 배경과 판단 기준이 긴 작업에 잘 맞습니다.

구현 배경 설명

로그인 화면에서 세션이 만료되면 홈으로 보내지 말고
원래 보던 페이지로 돌아오게 해줘.
기존 테스트를 먼저 읽고 수정 범위를 설명한 다음 작업해.

요구사항과 순서를 길게 말하되, 실제 파일명이나 URL은 텍스트로 보충합니다.

변경 내용 점검

방금 바꾼 파일을 기능별로 나눠 설명해줘.
테스트하지 못한 부분과 되돌리는 방법도 함께 알려줘.

Codex가 답하면 화면의 diff와 실제 테스트 로그를 확인합니다. 음성 요약은 검토를 돕지만 검증 결과를 대신하지 않습니다.

여러 작업의 상태 확인

현재 작업에서 끝난 것, 입력이 필요한 것,
아직 시작하지 않은 것을 세 부분으로 나눠 알려줘.

여러 Codex 작업을 병행한다면 codex agents 대시보드에서 실제 세션 상태도 함께 확인합니다. 음성 대화는 현재 스레드의 입력 방식이고, 작업 대시보드는 여러 루트 작업을 찾고 정리하는 기능입니다.

개인정보와 주변 환경

마이크가 켜진 상태에서는 의도하지 않은 주변 대화가 입력될 수 있습니다. 터미널 하단의 listening 상태와 마이크 미터를 확인하고, 대화를 멈출 때는 /voice stop을 사용합니다. 잠시 자리를 비울 때는 /voice mute 또는 현재 키맵의 마이크 전환 단축키를 사용합니다.

공식 구현은 음성 전사와 전달 텍스트가 자격 증명을 포함할 수 있다는 이유로 특정 receipt·debug 로그에 이벤트 본문과 발화 텍스트를 남기지 않도록 처리합니다.[2] 하지만 이것을 모든 기록과 서버 처리에서 음성이 사라진다는 뜻으로 확대하면 안 됩니다. 화면에 남는 전사, 일반 대화 기록, 서비스의 데이터 정책은 별도 범위입니다.

공용 공간에서는 Codex의 음성 답변이 주변 사람에게 들릴 수 있습니다. 저장소 내부 이름, 고객 정보, 비밀값을 소리 내어 읽게 하지 말고, 민감한 값은 처음부터 프롬프트에 넣지 않는 편이 안전합니다.

사용 전 체크리스트

  • Codex CLI 0.155.0 이상이며 현재 지원 빌드인지 확인하기

  • /experimental에서 Voice conversations가 표시되는지 확인하기

  • 기능을 저장한 뒤 Codex 다시 시작하기

  • 마이크와 스피커가 현재 실행 환경에 연결됐는지 확인하기

  • /voice 뒤 connecting이 listening으로 바뀌는지 확인하기

  • mute, stop, 현재 키맵의 마이크 전환 단축키 구분하기

  • 파일명과 옵션은 텍스트로 다시 확인하기

  • 삭제·배포·권한 변경 전 전사와 실제 명령 검토하기

  • 실패 원인을 한 줄 오류만 보고 단정하지 않기

정리

Codex CLI의 Voice conversations는 긴 작업 배경을 말로 전달하고 전사와 응답을 같은 터미널에서 확인하는 기능입니다. 지원 빌드의 /experimental에서 기능을 켜고 재시작한 뒤 /voice로 시험할 수 있습니다. 음성 입력이 편한 사용자라도 파일명과 명령 옵션은 텍스트로 보충하고, 연결이 실패하면 런타임·오디오·세션 연결을 나눠 확인하는 편이 정확합니다.

핵심은 음성 입력과 실행 권한을 분리하는 것입니다. 말로 요청해도 파일 변경, 셸 명령, 네트워크 접근은 현재 샌드박스와 승인 정책 안에서 처리됩니다. 정책이 승인을 요구한다면 화면에서 명령과 대상을 판단하고, 전사 결과와 diff·테스트로 작업 결과를 검증해야 합니다.[2]

연결이 실패하면 버전과 기능 적용값부터 확인한 뒤 네이티브 런타임 표시, 마이크·스피커 경로, 인증과 네트워크를 나눠 점검합니다. 이번 0.155.1 Linux 호스트처럼 일반 연결은 통과하고 음성만 실패할 수도 있으므로, 관찰한 오류보다 넓은 원인을 추측하지 않는 편이 정확합니다.

참고 자료

자주 묻는 질문

Codex CLI /voice는 음성을 글자로 바꾸는 받아쓰기 기능인가요?
단순 받아쓰기보다 범위가 넓습니다. 마이크 입력과 실시간 전사를 보여 주고, 음성으로 넘긴 작업을 일반 Codex 턴으로 처리한 뒤 최종 답을 음성으로 재생하는 대화 모드입니다. 텍스트 입력도 함께 사용할 수 있습니다.
Voice conversations가 /experimental에 보이지 않는 이유는 무엇인가요?
Codex CLI 버전이 0.155.0보다 낮거나 현재 설치 패키지에 지원되는 네이티브 음성 런타임이 없을 수 있습니다. 버전과 설치 경로를 확인하고 최신 안정 버전으로 업데이트한 뒤 다시 봅니다.
Failed to connect voice mode 오류가 나오면 무엇부터 확인하나요?
먼저 realtime_conversation의 적용값과 Codex 재시작 여부를 확인합니다. 그다음 운영체제의 마이크 권한과 입력·출력 장치, 원격·컨테이너·WSL의 오디오 전달 경로, 인증과 네트워크 상태를 나눠 점검합니다. 한 줄 오류만으로 원인을 단정하지 않습니다.
음성 모드에서도 명령 실행 승인이 필요한가요?
음성 모드는 샌드박스나 승인 정책을 바꾸지 않습니다. 현재 정책이 승인을 요구하는 작업에서는 기존과 같은 승인 화면이 표시되므로 명령과 대상을 확인한 뒤 결정합니다.
설정을 바꾸지 않고 /voice를 잠깐 시험할 수 있나요?
가능합니다. codex --enable realtime_conversation으로 해당 실행에만 기능을 켤 수 있습니다. 계속 사용하려면 /experimental에서 저장하거나 codex features enable realtime_conversation을 사용합니다.

이 글은 입문자 기준으로 이해하기 쉽게 정리했으며, 내용은 운영 과정에서 순차적으로 보완될 수 있습니다. 환경에 따라 화면이나 명령이 다르게 보일 수 있으니, 막히는 부분이 있으면 isense2021@gmail.com 로 알려주세요.