TECH NOTE · CODEX CLI
Codex CLI가 로그인된 상태인지 헷갈릴 때 확인할 것들과 계정 전환·세션 꼬임 대처법을 정리했습니다.
로그인된 건지, 아닌 건지
Codex CLI를 쓰다 보면 이런 순간이 온다.
명령은 뜨는데 결과가 이상하다. 로그아웃된 건가, 다른 계정인가, 아니면 그냥 폴더가 잘못된 건가. 헷갈리면 손이 먼저 codex login으로 가기 마련인데, 내 경우에는 그게 오히려 상태를 더 꼬는 길이었다.
로그인 옵션을 전부 외우자는 글은 아니다. 상태가 헷갈릴 때 무엇을 어떤 순서로 확인할지만 정리해 둔다. 기준은 ChatGPT 로그인(OAuth)이고, API key 로그인 명령은 기본으로 밟는 길이 아니라 빼 두었다.
설치 직후 점검과 exec 선택을 지나 이 글로 오면 순서가 자연스럽다. 공식 문서는 글 맨 끝에 모아 두었다.
한 장으로 보는 확인 순서

codex login status로 현재 상태 보기- 결과가 ChatGPT 로그인인지 읽기
- 정말 필요할 때만
codex login - 그래도 이상하면
codex doctor
1. 추측 전에 status부터
가장 먼저 볼 명령은 이것이다.
codex --version
codex login status
문제가 없다면 대략 이런 출력이 나온다.
codex-cli 0.144.5
Logged in using ChatGPT
여기서 확인하려는 건 “대충 된 것 같다”가 아니라 ChatGPT 로그인 세션으로 붙어 있는지다. Codex CLI를 평범하게 쓸 때 밟는 길이 이 OAuth 흐름이다. 브라우저에서 ChatGPT 계정으로 로그인해 두면 CLI가 그 세션을 다시 가져다 쓴다.
codex login --help로 하위 명령만 봐도 status가 따로 있다는 걸 알 수 있다.
codex login --help
앞부분은 이렇게 시작한다.
Manage login
Usage: codex login [OPTIONS] [COMMAND]
Commands:
status Show login status
로그인하는 행위와 상태를 보는 행위가 아예 나뉘어 있다는 뜻이다. 헷갈릴수록 status가 먼저다.
2. 결과를 어떻게 읽으면 되는지
status 결과는 세 갈래로만 나눠 본다.
- 로그인이 명확히 보인다
- 로그인이 아니거나 실패한 것처럼 보인다
- CLI 자체 문제인지 구분이 안 된다
1번이라면 재로그인부터 하지 않는다. 다음 후보는 작업 폴더, sandbox, 프롬프트, 사용량 한도 쪽이다. 로그인 문제가 아닌데 login만 반복하면 멀쩡한 세션이 흔들린다.
2번일 때 비로소 login을 한다. 대화형 로그인은 아래처럼 실행한다. 브라우저 로그인 창이 열릴 수 있어서 자동화 검증 명령에는 넣지 않았다.
codex login
codex login status
다시 status에서 Logged in using ChatGPT가 보이면 원래 상태로 돌아온 것이다.
3번이면 version과 help, doctor를 먼저 본다. 로그인 화면이 아니라 CLI 설치나 PATH, 로컬 설정 쪽 문제일 수 있다.
codex doctor --summary
doctor 요약에는 auth, config, network 같은 항목이 함께 나온다. 로그인만 따로 떼어 보기 애매할 때 기준선을 잡는 용도다.
3. 계정 전환이 필요해 보일 때
다른 계정인 것 같다는 느낌이 들 때도 순서는 같다.
- status로 현재 세션 확인
- 정말 바꿔야 하면 logout 후 login
- 다시 status로 고정
실제 logout은 세션을 지우기 때문에, help만 먼저 확인하는 편이 안전하다.
codex logout --help
Remove stored authentication credentials
Usage: codex logout [OPTIONS]
정말 계정을 바꿔야 할 때만 아래 순서를 쓴다.
codex logout
codex login
codex login status
습관적으로 logout부터 누르면 잘 붙어 있던 세션까지 끊긴다. 사람이 붙어 있지 않은 자동화 머신에서는 타격이 더 크다.
API key 로그인(codex login --with-api-key)은 이 글에서 기준으로 삼은 방식이 아니다. 직접 API를 호출하거나 키 기반 자동화가 필요한 주제에서 따로 다룰 이야기다. 평소에 쓰다가 상태가 헷갈린다고 해서 꺼내 들 대응은 아니다.
4. 로그인 문제로 착각하기 쉬운 것들
상태가 애매할 때, 알고 보면 로그인 문제가 아닌 경우가 생각보다 많다.
- 엉뚱한 폴더에서 실행 중이다
- 기대한 것과 다른 모델이나 sandbox 설정이다
- exec에 넘긴 지시가 너무 흐리다
- 사용량 한도에 걸렸다
그래서 로그인을 확인하는 김에 폴더도 같이 본다.
pwd
git 저장소라면 루트도 본다.
git rev-parse --show-toplevel
내 경우에는 이 순서로 봤을 때 덜 헤맸다.
- version + login status
- pwd / 저장소 루트
- 필요 시 doctor
- 그래도 인증이 아니면 login
- 그다음에야 작업 명령을 다시
exec 결과가 비었다고 바로 재로그인부터 하면 원인을 갈라낼 수가 없다. 로그인 상태와 실행 실패는 서로 다른 축이다.
복사해서 쓰는 최소 체크
헷갈릴 때 아래만 순서대로 실행한다.
codex --version
codex login status
pwd
codex doctor --summary
git 저장소 안이라면:
git rev-parse --show-toplevel
읽는 요령은 이렇다.
Logged in using ChatGPT→ 로그인부터 건드리지 않는다- 로그인 실패이거나 로그인 상태가 아니다 →
codex login후 status 재확인 - 로그인은 멀쩡한데 결과만 이상하다 → 폴더, sandbox, 프롬프트, 사용량 한도 순으로 갈라 본다
- CLI 동작 자체가 이상하다 → doctor와 version, PATH부터
다음에 보면 좋은 것
로그인 상태가 안정되고 나면, 그다음은 명령이 건드릴 수 있는 범위를 좁히는 쪽으로 간다.
--sandbox read-only를 언제 쓰면 좋은지codex exec를 고를 때와 대화형을 고를 때- CLI 자동화와 직접 API 호출을 나누는 기준
상태가 흔들릴 때는 옵션을 더 뒤지기보다, status로 지금 세션이 무엇인지부터 못 박아 두는 쪽이 빠르다.
