"승인 대기"에서 멈추는 문제 해결: Claude Code, Codex, OpenCode 권한 프롬프트 정리(완전한 YOLO 없이)

진짜 승인을 기다리는 것인지, 설정이 적용되지 않은 것인지, UI나 연결 문제인지 구분하는 실용적인 방법과 세션을 안전하게 계속 진행하는 방법.

기준 버전
CLI
0.2.17
프리뷰 ref
a2c45c8

Claude Code, Codex, OpenCode에서 시간을 크게 잃는 원인은 크래시가 아닙니다.

바로 이런 상황입니다.

세션을 시작하고, 잘 돌아가는 걸 보고 자리를 비웁니다. 돌아와 보면 이런 메시지가 떠 있습니다.

  • "waiting for approval"(승인 대기)
  • "needs permission"(권한 필요)
  • "waiting for input"(입력 대기)

터미널 앞에 있다면 보통 5초면 끝나는 결정입니다.

휴대폰으로 보거나(또는 무슨 작업 중이었는지 잊어버린 뒤라면) 둘 중 하나가 되기 쉽습니다.

  • 승인할 생각이 없던 것을 승인하거나
  • 알아채지 못해 한 시간 동안 아무것도 하지 않거나

이 가이드는 그 중간 지점을 다룹니다.

승인을 "완전한 YOLO"로 바꾸지 않고 세션이 계속 진행되게 하기.

요약

  1. 먼저 어떤 종류의 "승인"인지 판단합니다.
    • 진짜 권한 프롬프트(예상된 상황)
    • 설정이 적용되지 않는 문제(흔함)
    • UI나 연결 문제(이것도 흔함)
  2. Codex를 쓴다면 승인 설정의 계층 구조와 프로젝트 신뢰 설정을 확인합니다.
  3. 휴대폰이라면, 승인하기 전에 요청을 맥락 속에서 보여 주는 UI로 세션을 여는 것이 안전합니다.
  4. Happier는 여기에 도움이 되는 선택지 중 하나입니다. 승인과 권한 요청이 Inbox에 사라지지 않고 남고, 알림을 누르면 올바른 세션과 서버로 바로 이동합니다.

문제(쉽게 말하면)

승인은 안전을 위한 경계선입니다.

문제는 "승인이 있다는 것"이 아닙니다. 승인이 다음과 같아질 때가 문제입니다.

  • 보이지 않음(알아채지 못함)
  • 모호함(무엇을 승인하는지 확실하지 않음)
  • 일관되지 않음(설정을 바꿨는데 계속 물어봄)

그리고 이 세 가지는 휴대폰에서 더 심해집니다.

일반적인 방법과 트레이드오프

  • 전부 끄기(YOLO / "never ask"): 빠르지만 피곤할 때는 위험합니다.
  • 끝날 때까지 터미널 앞에 있기: 안전하지만 긴 세션을 돌리는 의미가 없어집니다.
  • 휴대폰에서 SSH: 되긴 하지만, 작은 터미널에서 승인 내용을 검토하는 것은 무척 불편합니다.

승인을 명시적으로 하고 휴대폰에서 검토하고 싶다면, Happier는 Claude Code, Codex, OpenCode 등 여러 에이전트를 크로스 디바이스로 실행하고 오케스트레이션할 수 있는 오픈 소스 앱입니다.

Happier가 처음이라면(무엇이고 어디서 받는지)

Happier는 Claude Code, Codex, OpenCode 같은 세션을 위한 오픈 소스 컴패니언 앱(모바일 / 웹 / 데스크톱)입니다.

워크플로는 신뢰하는 머신에서 세션을 계속 실행하고, 휴대폰의 Happier에서 맥락과 함께 승인을 검토하는 것입니다.

설정하기:

1단계: "승인"의 종류 구분하기

경우 A: 진짜 권한 프롬프트

건강한 경우입니다. 세션이 부작용이 있는 작업을 하려는 것입니다.

Happier를 쓴다면, 권한 모드는 바로 확인 빈도를 조절하기 위해 있습니다.

  • Default
  • Read-only
  • Safe YOLO(읽기는 자동 허용, 쓰기 전에는 확인)
  • YOLO(프로바이더가 허용하는 만큼 확인 생략)

모든 프로바이더가 모든 모드를 지원하지는 않습니다. Happier는 실제로 적용되는 정책을 보여 줍니다.

경우 B: 설정이 적용되지 않음(Codex가 흔한 예)

Codex에는 실제 설정 계층 모델이 있습니다.

무언가를 바꿨는데 아무 변화가 없다면, 흔한 원인은 다음과 같습니다.

  • 잘못된 위치의 설정 파일을 수정했다
  • 우선순위가 더 높은 계층에서 설정이 덮어쓰이고 있다
  • 프로젝트가 신뢰되지 않아 프로젝트 설정이 로드되지 않는다
  • 조직 정책이 제약을 강제하고 있다

Codex 문서에서는 이렇게 나타납니다.

  • 사용자 설정은 ~/.codex/config.toml
  • 프로젝트 단위 설정과 "신뢰" 기반 제어
  • approval_policy, sandbox_mode 같은 설정 항목

중요한 단서: "never ask"라고 적힌 설정을 공유했는데도 계속 물어본다는 글을 본다면, 착각이 아닙니다. 정확히 그렇게 보이는 환경별 버그가 있습니다.

경우 C: UI는 정상이지만 연결이 끊김

세션은 기다리고 있는데, 오래된 스트림을 보고 있을 때가 있습니다.

머신이 절전 모드에 들어갔거나 네트워크를 바꿨다면 이런 상태가 될 수 있습니다.

  • 세션은 막혀 있다
  • 하지만 프롬프트가 보이지 않는다

이 경우 "해결책"은 다시 연결하고 올바른 세션을 여는 것입니다.

2단계: 위험에 맞는 워크플로 고르기

유용한 규칙:

  • 실제 부작용이 있는 작업(쓰기, 설치)을 승인하기 전에 확인한다.
    • 무엇을 하려는지
    • 어디서 하려는지
    • 최근에 무엇이 바뀌었는지

그래서 휴대폰에서 쓰기 편한 UI가 중요합니다.

Happier 워크플로(승인을 명시적으로 하고 싶을 때)

Happier는 "내 확인이 필요한 것"을 실제 데이터로 다룹니다.

  • 전체 Inbox
  • 승인 요청
  • 권한 요청
  • 사용자 작업 요청("Exit Plan Mode" 등)

화면을 이동해도 사라지지 않는다는 점이 중요합니다. 놓쳐 버린 모달이 아닙니다.

모바일에서는 알림 라우팅도 엄격합니다.

  • 올바른 세션으로 바로 이동한다
  • 알 수 없는 서버에서 자동 승인하지 않는다

문제 해결

approval_policy = "never"로 설정했는데 계속 물어본다

다음 중 하나로 보세요.

  • 신뢰 설정이나 설정 계층 불일치
  • 환경별 클라이언트 버그

시도할 것:

  • 어떤 설정 계층이 로드되는지 확인한다
  • 같은 세션을 다른 환경(WSL / VM)에서 테스트한다
  • 도구를 업데이트한다(이런 문제는 조용히 고쳐지는 경우가 많습니다)

휴대폰에서 프롬프트가 보이지 않는다

보통은 다음 중 하나입니다.

  • 알림 라우팅이나 서버 프로필 불일치
  • 실제로 프롬프트가 떠 있는 세션을 열지 않았다

여러 세션을 훑어보는 대신, 하나의 "처리할 목록"(Inbox)을 쓰세요.

관련 가이드

mobilepermissionsapprovalsclaudecodexopencodetroubleshooting
마지막 업데이트: 2026-10-26