메인 콘텐츠로 건너뛰기
번들 codex Plugin을 사용하면 OpenClaw가 내장 OpenClaw 하네스 대신 Codex app-server를 통해 내장 OpenAI 에이전트 턴을 실행할 수 있습니다. 저수준 에이전트 세션을 Codex가 소유하게 하려면 Codex 하네스를 사용하세요. 여기에는 네이티브 스레드 재개, 네이티브 도구 지속, 네이티브 Compaction, app-server 실행이 포함됩니다. OpenClaw는 여전히 채팅 채널, 세션 파일, 모델 선택, OpenClaw 동적 도구, 승인, 미디어 전달, 표시되는 트랜스크립트 미러를 소유합니다. 일반 설정은 openai/gpt-5.5 같은 표준 OpenAI 모델 참조를 사용합니다. 레거시 Codex GPT 참조를 구성하지 마세요. OpenAI 에이전트 인증 순서는 auth.order.openai 아래에 두세요. 이전 레거시 Codex 인증 프로필 ID와 레거시 Codex 인증 순서 항목은 openclaw doctor --fix로 복구되는 레거시 상태입니다. 활성 OpenClaw 샌드박스가 없으면 OpenClaw는 기본적으로 code-mode-only는 끈 상태로, Codex 네이티브 코드 모드를 활성화해 Codex app-server 스레드를 시작합니다. 이렇게 하면 Codex 네이티브 작업 영역과 코드 기능을 계속 사용할 수 있으면서 OpenClaw 동적 도구는 app-server item/tool/call 브리지를 통해 계속 작동합니다. 활성 OpenClaw 샌드박싱과 제한된 도구 정책은 실험적 샌드박스 exec-server 경로를 선택하지 않는 한 네이티브 코드 모드를 완전히 비활성화합니다. 이 Codex 네이티브 기능은 OpenClaw 코드 모드와 별개입니다. OpenClaw 코드 모드는 다른 exec 입력 형식을 사용하는 일반 OpenClaw 실행용 옵트인 QuickJS-WASI 런타임입니다. 더 넓은 모델/제공자/런타임 분리는 에이전트 런타임에서 시작하세요. 짧게 말하면 openai/gpt-5.5는 모델 참조이고, codex는 런타임이며, Telegram, Discord, Slack 또는 다른 채널은 커뮤니케이션 표면으로 남습니다.

요구 사항

  • 번들 codex Plugin을 사용할 수 있는 OpenClaw.
  • 구성에서 plugins.allow를 사용하는 경우 codex를 포함하세요.
  • Codex app-server 0.125.0 이상. 번들 Plugin은 기본적으로 호환되는 Codex app-server 바이너리를 관리하므로, PATH의 로컬 codex 명령은 일반 하네스 시작에 영향을 주지 않습니다.
  • openclaw models auth login --provider openai를 통한 Codex 인증, 에이전트의 Codex 홈에 있는 app-server 계정, 또는 명시적 Codex API 키 인증 프로필.
인증 우선순위, 환경 격리, 사용자 지정 app-server 명령, 모델 탐색, 모든 구성 필드는 Codex 하네스 참조를 참조하세요.

빠른 시작

OpenClaw에서 Codex를 원하는 대부분의 사용자는 이 경로를 원합니다. ChatGPT/Codex 구독으로 로그인하고, 번들 codex Plugin을 활성화한 다음, 표준 openai/gpt-* 모델 참조를 사용하세요. Codex OAuth로 로그인합니다.
openclaw models auth login --provider openai
번들 codex Plugin을 활성화하고 OpenAI 에이전트 모델을 선택합니다.
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
    },
  },
}
구성에서 plugins.allow를 사용하는 경우 거기에도 codex를 추가하세요.
{
  plugins: {
    allow: ["codex"],
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
}
Plugin 구성을 변경한 뒤에는 Gateway를 다시 시작하세요. 기존 채팅에 이미 세션이 있는 경우 런타임 변경을 테스트하기 전에 /new 또는 /reset을 사용해 다음 턴이 현재 구성에서 하네스를 해석하도록 하세요.

Codex Desktop 및 CLI와 스레드 공유

기본 appServer.homeScope: "agent"는 각 OpenClaw 에이전트를 운영자의 네이티브 Codex 상태와 격리합니다. 소유자가 OpenClaw에 Codex Desktop 및 Codex CLI에 표시되는 동일한 네이티브 스레드를 검사하고 관리하도록 요청할 수 있게 하려면 사용자 Codex 홈을 선택하세요.
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            homeScope: "user",
          },
        },
      },
    },
  },
}
사용자 홈 모드는 로컬 stdio 전송에서만 사용할 수 있습니다. 설정된 경우 $CODEX_HOME을 사용하고, 그렇지 않으면 ~/.codex를 사용합니다. 여기에는 해당 홈의 네이티브 Codex 인증, 구성, Plugin, 스레드 저장소가 포함됩니다. OpenClaw는 이 app-server에 OpenClaw 인증 프로필을 주입하지 않습니다. 소유자 턴은 codex_threads 도구를 얻습니다. 이 도구는 네이티브 스레드를 나열, 검색, 읽기, 포크, 이름 변경, 보관, 복원할 수 있습니다. OpenClaw에서 계속 이어가려면 에이전트에게 스레드를 포크하라고 요청하세요. 포크는 현재 OpenClaw 세션에 연결되며 다른 네이티브 Codex 클라이언트에도 계속 표시됩니다. 보관하려면 해당 스레드가 다른 곳에서 닫혔다는 명시적 확인이 필요합니다. OpenClaw와 다른 Codex 클라이언트에서 동일한 스레드를 동시에 재개하거나 쓰지 마세요. Codex는 하나의 app-server 프로세스 내부의 라이브 작성자는 조정하지만, 독립적인 Desktop, CLI, OpenClaw 프로세스 간에는 조정하지 않습니다. 포크는 별도의 이어가기를 만들며 안전하게 공존하는 경로입니다.

구성

빠른 시작 구성은 최소한의 실행 가능한 Codex 하네스 구성입니다. Codex 하네스 옵션은 OpenClaw 구성에 설정하고, CLI는 Codex 인증에만 사용하세요.
필요 사항설정위치
하네스 활성화plugins.entries.codex.enabled: trueOpenClaw 구성
허용 목록에 있는 Plugin 설치 유지plugins.allowcodex 포함OpenClaw 구성
OpenAI 에이전트 턴을 Codex로 라우팅agents.defaults.model 또는 agents.list[].modelopenai/gpt-*로 설정OpenClaw 에이전트 구성
ChatGPT/Codex OAuth로 로그인openclaw models auth login --provider openaiCLI 인증 프로필
Codex 실행용 API 키 백업 추가auth.order.openai에서 구독 인증 뒤에 나열된 openai:* API 키 프로필CLI 인증 프로필 + OpenClaw 구성
Codex를 사용할 수 없을 때 닫힌 상태로 실패제공자 또는 모델 agentRuntime.id: "codex"OpenClaw 모델/제공자 구성
직접 OpenAI API 트래픽 사용일반 OpenAI 인증과 함께 제공자 또는 모델 agentRuntime.id: "openclaw"OpenClaw 모델/제공자 구성
app-server 동작 조정plugins.entries.codex.config.appServer.*Codex Plugin 구성
네이티브 Codex Plugin 앱 활성화plugins.entries.codex.config.codexPlugins.*Codex Plugin 구성
Codex Computer Use 활성화plugins.entries.codex.config.computerUse.*Codex Plugin 구성
Codex 기반 OpenAI 에이전트 턴에는 openai/gpt-* 모델 참조를 사용하세요. 구독 우선/API 키 백업 순서에는 auth.order.openai를 선호하세요. 기존 레거시 Codex 인증 프로필 ID와 레거시 Codex 인증 순서는 doctor 전용 레거시 상태입니다. 새 레거시 Codex GPT 참조를 작성하지 마세요. Codex 기반 에이전트에 compaction.model 또는 compaction.provider를 설정하지 마세요. Codex는 네이티브 app-server 스레드 상태를 통해 Compaction을 수행하므로, OpenClaw는 런타임에서 해당 로컬 요약기 오버라이드를 무시하고 에이전트가 Codex를 사용할 때 openclaw doctor --fix가 이를 제거합니다. Lossless는 Codex 턴 주변의 조립, 수집, 유지 관리용 컨텍스트 엔진으로 계속 지원됩니다. agents.defaults.compaction.provider가 아니라 plugins.slots.contextEngine: "lossless-claw"plugins.entries.lossless-claw.config.summaryModel을 통해 구성하세요. Codex가 활성 런타임인 경우 openclaw doctor --fix는 이전 compaction.provider: "lossless-claw" 형식을 Lossless 컨텍스트 엔진 슬롯으로 마이그레이션하지만, 네이티브 Codex는 여전히 Compaction을 소유합니다. 네이티브 Codex app-server 하네스는 프리프롬프트 조립이 필요한 컨텍스트 엔진을 지원합니다. codex-cli를 포함한 일반 CLI 백엔드는 해당 호스트 기능을 제공하지 않습니다. Codex 기반 에이전트에서 /compact는 바인딩된 스레드에서 네이티브 Codex app-server Compaction을 시작합니다. OpenClaw는 완료를 기다리거나, OpenClaw 타임아웃을 부과하거나, 공유 app-server를 다시 시작하거나, 컨텍스트 엔진 또는 공개 OpenAI 요약기로 폴백하지 않습니다. 네이티브 Codex 스레드 바인딩이 없거나 오래된 경우 명령은 닫힌 상태로 실패하므로, 운영자는 Compaction 백엔드를 조용히 전환하는 대신 실제 런타임 경계를 볼 수 있습니다.
{
  auth: {
    order: {
      openai: ["openai:user@example.com", "openai:api-key-backup"],
    },
  },
}
이 형식에서는 두 프로필 모두 openai/gpt-* 에이전트 턴에 대해 Codex를 통해 계속 실행됩니다. API 키는 인증 폴백일 뿐이며, OpenClaw 또는 일반 OpenAI Responses로 전환하라는 요청이 아닙니다. 이 페이지의 나머지는 사용자가 선택해야 하는 일반 변형을 다룹니다. 배포 형식, 닫힌 상태로 실패하는 라우팅, 가디언 승인 정책, 네이티브 Codex Plugin, Computer Use입니다. 전체 옵션 목록, 기본값, enum, 탐색, 환경 격리, 타임아웃, app-server 전송 필드는 Codex 하네스 참조를 참조하세요.

Codex 런타임 확인

Codex를 예상하는 채팅에서 /status를 사용하세요. Codex 기반 OpenAI 에이전트 턴은 다음을 표시합니다.
Runtime: OpenAI Codex
그런 다음 Codex app-server 상태를 확인하세요.
/codex status
/codex models
/codex status는 app-server 연결, 계정, 속도 제한, MCP 서버, Skills를 보고합니다. /codex models는 하네스와 계정에 대한 라이브 Codex app-server 카탈로그를 나열합니다. /status가 예상과 다르면 문제 해결을 참조하세요.

라우팅 및 모델 선택

제공자 참조와 런타임 정책을 분리해서 유지하세요.
  • Codex를 통한 OpenAI 에이전트 턴에는 openai/gpt-*를 사용하세요.
  • 구성에서 레거시 Codex GPT 참조를 사용하지 마세요. openclaw doctor --fix를 실행해 레거시 참조와 오래된 세션 라우트 핀을 복구하세요.
  • agentRuntime.id: "codex"는 일반 OpenAI 자동 모드에서는 선택 사항이지만, Codex를 사용할 수 없을 때 배포가 닫힌 상태로 실패해야 하는 경우 유용합니다.
  • agentRuntime.id: "openclaw"는 의도한 경우 제공자 또는 모델을 OpenClaw 내장 런타임으로 선택합니다.
  • /codex ...는 채팅에서 네이티브 Codex app-server 대화를 제어합니다.
  • ACP/acpx는 별도의 외부 하네스 경로입니다. 사용자가 ACP/acpx 또는 외부 하네스 어댑터를 요청할 때만 사용하세요.
일반 명령 라우팅:
사용자 의도사용
현재 채팅 연결/codex bind [--cwd <path>]
기존 Codex 스레드 재개/codex resume <thread-id>
Codex 스레드 나열 또는 필터링/codex threads [filter]
네이티브 Codex Plugin 나열/codex plugins list
구성된 네이티브 Codex Plugin 활성화 또는 비활성화/codex plugins enable <name>, /codex plugins disable <name>
페어링된 노드의 기존 Codex CLI 세션 연결/codex sessions --host <node> [filter], 다음 /codex resume <session-id> --host <node> --bind here
Codex 피드백만 보내기/codex diagnostics [note]
ACP/acpx 작업 시작/codex가 아닌 ACP/acpx 세션 명령
사용 사례구성확인참고
네이티브 Codex 런타임을 사용하는 ChatGPT/Codex 구독활성화된 codex Plugin과 함께 openai/gpt-*/statusRuntime: OpenAI Codex 표시권장 경로
Codex를 사용할 수 없으면 실패로 종료공급자 또는 모델 agentRuntime.id: "codex"임베디드 폴백 대신 턴 실패Codex 전용 배포에 사용
OpenClaw를 통해 직접 OpenAI API 키 트래픽 전달공급자 또는 모델 agentRuntime.id: "openclaw" 및 일반 OpenAI 인증/status에 OpenClaw 런타임 표시OpenClaw를 의도적으로 사용할 때만 사용
레거시 구성레거시 Codex GPT 참조openclaw doctor --fix가 이를 다시 작성새 구성을 이 방식으로 작성하지 마세요
ACP/acpx Codex 어댑터ACP sessions_spawn({ runtime: "acp" })ACP 작업/세션 상태네이티브 Codex 하네스와 별개
agents.defaults.imageModel도 같은 접두사 분리를 따릅니다. 일반 OpenAI 경로에는 openai/gpt-*를 사용하고, 이미지 이해가 제한된 Codex 앱 서버 턴을 통해 실행되어야 할 때만 codex/gpt-*를 사용하세요. 레거시 Codex GPT 참조는 사용하지 마세요. doctor가 해당 레거시 접두사를 openai/gpt-*로 다시 작성합니다.

배포 패턴

기본 Codex 배포

모든 OpenAI 에이전트 턴이 기본적으로 Codex를 사용해야 할 때 빠른 시작 구성을 사용하세요.
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
    },
  },
}

혼합 공급자 배포

이 형태는 Claude를 기본 에이전트로 유지하고 이름이 지정된 Codex 에이전트를 추가합니다.
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
  agents: {
    defaults: {
      model: "anthropic/claude-opus-4-6",
    },
    list: [
      {
        id: "main",
        default: true,
        model: "anthropic/claude-opus-4-6",
      },
      {
        id: "codex",
        name: "Codex",
        model: "openai/gpt-5.5",
      },
    ],
  },
}
이 구성에서는 main 에이전트가 일반 공급자 경로를 사용하고 codex 에이전트가 Codex 앱 서버를 사용합니다.

실패 종료 Codex 배포

OpenAI 에이전트 턴의 경우, 번들 Plugin을 사용할 수 있으면 openai/gpt-*는 이미 Codex로 해석됩니다. 명시적인 실패 종료 규칙을 작성하려면 런타임 정책을 추가하세요.
{
  models: {
    providers: {
      openai: {
        agentRuntime: {
          id: "codex",
        },
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
    },
  },
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
}
Codex가 강제되면, Codex Plugin이 비활성화되어 있거나 앱 서버가 너무 오래되었거나 앱 서버를 시작할 수 없는 경우 OpenClaw는 일찍 실패합니다.

앱 서버 정책

기본적으로 Plugin은 stdio 전송을 사용하여 OpenClaw가 관리하는 Codex 바이너리를 로컬에서 시작합니다. 의도적으로 다른 실행 파일을 실행하려는 경우에만 appServer.command를 설정하세요. 앱 서버가 이미 다른 곳에서 실행 중일 때만 WebSocket 전송을 사용하세요.
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            transport: "websocket",
            url: "ws://gateway-host:39175",
            authToken: "${CODEX_APP_SERVER_TOKEN}",
          },
        },
      },
    },
  },
}
로컬 stdio 앱 서버 세션은 신뢰된 로컬 운영자 태세를 기본값으로 사용합니다. approvalPolicy: "never", approvalsReviewer: "user", sandbox: "danger-full-access"입니다. 로컬 Codex 요구 사항이 해당 암묵적 YOLO 태세를 허용하지 않으면 OpenClaw는 대신 허용된 보호자 권한을 선택합니다. 세션에 OpenClaw 샌드박스가 활성화되어 있으면 OpenClaw는 해당 턴에서 Codex 호스트 측 샌드박싱에 의존하는 대신 Codex 네이티브 코드 모드, 사용자 MCP 서버, 앱 기반 Plugin 실행을 비활성화합니다. 일반 exec/process 도구를 사용할 수 있을 때 셸 접근은 sandbox_execsandbox_process 같은 OpenClaw 샌드박스 기반 동적 도구를 통해 노출됩니다. 샌드박스 이탈 또는 추가 권한 전에 Codex 네이티브 자동 리뷰를 원할 때는 정규화된 OpenClaw exec 모드를 사용하세요.
{
  tools: {
    exec: {
      mode: "auto",
    },
  },
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
}
Codex 앱 서버 세션의 경우 OpenClaw는 로컬 요구 사항이 해당 값을 허용할 때 tools.exec.mode: "auto"를 Codex Guardian 리뷰 승인으로 매핑하며, 일반적으로 approvalPolicy: "on-request", approvalsReviewer: "auto_review", sandbox: "workspace-write"가 됩니다. tools.exec.mode: "auto"에서 OpenClaw는 레거시의 안전하지 않은 Codex approvalPolicy: "never" 또는 sandbox: "danger-full-access" 재정의를 보존하지 않습니다. 의도적으로 승인 없는 Codex 태세를 사용하려면 tools.exec.mode: "full"을 사용하세요. 레거시 plugins.entries.codex.config.appServer.mode: "guardian" 프리셋은 계속 작동하지만, tools.exec.mode: "auto"가 정규화된 OpenClaw 표면입니다. 호스트 exec 승인 및 ACPX 권한과의 모드 수준 비교는 권한 모드를 참조하세요. 모든 앱 서버 필드, 인증 순서, 환경 격리, 검색, 시간 제한 동작은 Codex 하네스 참조를 참조하세요.

명령 및 진단

번들 Plugin은 OpenClaw 텍스트 명령을 지원하는 모든 채널에서 /codex를 슬래시 명령으로 등록합니다. 네이티브 실행과 제어에는 소유자 또는 operator.admin Gateway 클라이언트가 필요합니다. 여기에는 스레드 연결 또는 재개, 턴 보내기 또는 중지, 모델, 빠른 모드 또는 권한 상태 변경, Compaction 또는 리뷰, 바인딩 분리가 포함됩니다. 다른 권한 있는 발신자는 읽기 전용 상태, 도움말, 계정, 모델, 스레드, MCP 서버, Skills, 바인딩 검사 명령을 유지합니다. 일반적인 형식:
  • /codex status는 앱 서버 연결, 모델, 계정, 사용량 제한, MCP 서버, Skills를 확인합니다.
  • /codex models는 라이브 Codex 앱 서버 모델을 나열합니다.
  • /codex threads [filter]는 최근 Codex 앱 서버 스레드를 나열합니다.
  • /codex resume <thread-id>는 현재 OpenClaw 세션을 기존 Codex 스레드에 연결합니다.
  • /codex compact는 Codex 앱 서버에 연결된 스레드의 Compaction을 요청합니다.
  • /codex review는 연결된 스레드에 대해 Codex 네이티브 리뷰를 시작합니다.
  • /codex diagnostics [note]는 연결된 스레드에 대한 Codex 피드백을 보내기 전에 확인을 요청합니다.
  • /codex account는 계정 및 사용량 제한 상태를 표시합니다.
  • /codex mcp는 Codex 앱 서버 MCP 서버 상태를 나열합니다.
  • /codex skills는 Codex 앱 서버 Skills를 나열합니다.
대부분의 지원 보고서는 버그가 발생한 대화에서 /diagnostics [note]로 시작하세요. 이는 하나의 Gateway 진단 보고서를 만들고, Codex 하네스 세션의 경우 관련 Codex 피드백 번들을 보내기 위한 승인을 요청합니다. 개인정보 보호 모델 및 그룹 채팅 동작은 진단 내보내기를 참조하세요. 전체 Gateway 진단 번들 없이 현재 연결된 스레드에 대한 Codex 피드백 업로드만 구체적으로 원할 때만 /codex diagnostics [note]를 사용하세요.

로컬에서 Codex 스레드 검사

잘못된 Codex 실행을 검사하는 가장 빠른 방법은 네이티브 Codex 스레드를 직접 여는 것인 경우가 많습니다.
codex resume <thread-id>
완료된 /diagnostics 응답, /codex binding 또는 /codex threads [filter]에서 스레드 ID를 가져오세요. 업로드 방식 및 런타임 수준 진단 경계는 Codex 하네스 런타임을 참조하세요. 기본 에이전트별 홈에서 인증은 다음 순서로 선택됩니다.
  1. 에이전트에 대해 순서가 지정된 OpenAI 인증 프로필, 가능하면 auth.order.openai 아래의 항목. 이전 레거시 Codex 인증 프로필 ID와 레거시 Codex 인증 순서를 마이그레이션하려면 openclaw doctor --fix를 실행하세요.
  2. 해당 에이전트의 Codex 홈에 있는 앱 서버의 기존 계정.
  3. 로컬 stdio 앱 서버 시작에 한해, 앱 서버 계정이 없고 OpenAI 인증이 여전히 필요한 경우 CODEX_API_KEY, 그다음 OPENAI_API_KEY.
OpenClaw가 ChatGPT 구독 스타일 Codex 인증 프로필을 감지하면, 생성된 Codex 자식 프로세스에서 CODEX_API_KEYOPENAI_API_KEY를 제거합니다. 이렇게 하면 Gateway 수준 API 키를 임베딩 또는 직접 OpenAI 모델에 사용할 수 있게 유지하면서도 네이티브 Codex 앱 서버 턴이 실수로 API를 통해 과금되지 않게 합니다. 명시적 Codex API 키 프로필과 로컬 stdio 환경 키 폴백은 상속된 자식 프로세스 환경 대신 앱 서버 로그인을 사용합니다. WebSocket 앱 서버 연결은 Gateway 환경 API 키 폴백을 받지 않습니다. 명시적 인증 프로필 또는 원격 앱 서버 자체 계정을 사용하세요. 네이티브 Codex Plugin이 구성되면 OpenClaw는 Plugin 소유 앱을 Codex 스레드에 노출하기 전에 연결된 앱 서버를 통해 해당 Plugin을 설치하거나 새로 고칩니다. app/list는 앱 ID, 접근성, 메타데이터의 진실 공급원으로 유지되지만, OpenClaw는 스레드별 활성화 결정을 소유합니다. 정책이 나열된 접근 가능한 앱을 허용하면, app/list가 현재 해당 앱을 비활성화된 것으로 보고하더라도 OpenClaw는 thread/start.config.apps[appId].enabled = true를 보냅니다. 이 경로는 알 수 없는 ID에 대한 앱 설치를 만들어내지 않습니다. OpenClaw는 plugin/install로 마켓플레이스 Plugin만 활성화한 다음 인벤토리를 새로 고칩니다. 구독 프로필이 Codex 사용량 제한에 도달하면, OpenClaw는 Codex가 재설정 시간을 보고할 때 그 시간을 기록하고 동일한 Codex 실행에 대해 다음 순서의 인증 프로필을 시도합니다. 재설정 시간이 지나면 선택된 openai/gpt-* 모델이나 Codex 런타임을 변경하지 않고도 구독 프로필이 다시 사용 가능해집니다. 로컬 stdio 앱 서버 실행의 경우, OpenClaw는 CODEX_HOME을 에이전트별 디렉터리로 설정하여 Codex 구성, 인증/계정 파일, Plugin 캐시/데이터, 네이티브 스레드 상태가 기본적으로 운영자의 개인 ~/.codex를 읽거나 쓰지 않도록 합니다. OpenClaw는 일반 프로세스 HOME을 유지합니다. Codex가 실행하는 하위 프로세스는 여전히 사용자 홈 구성과 토큰을 찾을 수 있으며, Codex는 공유 $HOME/.agents/skills$HOME/.agents/plugins/marketplace.json 항목을 발견할 수 있습니다. appServer.homeScope: "user"를 사용하면 OpenClaw는 OpenClaw 인증 프로필을 주입하지 않고 네이티브 사용자 Codex 홈과 기존 계정을 대신 사용합니다. 배포에 추가 환경 격리가 필요한 경우 해당 변수를 appServer.clearEnv에 추가하세요.
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],
          },
        },
      },
    },
  },
}
appServer.clearEnv는 생성된 Codex 앱 서버 자식 프로세스에만 영향을 줍니다. OpenClaw는 로컬 실행 정규화 중 이 목록에서 CODEX_HOMEHOME을 제거합니다. CODEX_HOME은 선택된 에이전트 또는 사용자 범위를 계속 가리키고, HOME은 상속된 상태로 유지되어 하위 프로세스가 일반 사용자 홈 상태를 사용할 수 있습니다. Codex 동적 도구는 기본적으로 searchable 로딩을 사용합니다. OpenClaw는 Codex 네이티브 작업공간 작업과 중복되는 동적 도구인 read, write, edit, apply_patch, exec, process, update_plan을 노출하지 않습니다. 메시징, 미디어, Cron, 브라우저, 노드, Gateway, heartbeat_respond 같은 나머지 대부분의 OpenClaw 통합 도구는 openclaw 네임스페이스 아래 Codex 도구 검색을 통해 사용할 수 있어 초기 모델 컨텍스트를 더 작게 유지합니다. 검색이 활성화되어 있고 관리형 제공자가 선택되지 않은 경우, 웹 검색은 기본적으로 Codex의 호스팅 web_search 도구를 사용합니다. 네이티브 호스팅 검색과 OpenClaw의 관리형 web_search 동적 도구는 상호 배타적이므로 관리형 검색이 네이티브 도메인 제한을 우회할 수 없습니다. OpenClaw는 호스팅 검색을 사용할 수 없거나, 명시적으로 비활성화되었거나, 선택된 관리형 제공자로 대체된 경우 관리형 도구를 사용합니다. OpenClaw는 Codex의 독립형 web.run 확장을 비활성화된 상태로 유지합니다. 프로덕션 앱 서버 트래픽이 사용자가 정의한 web 네임스페이스를 거부하기 때문입니다. tools.web.search.enabled: false는 두 경로를 모두 비활성화하며, 도구가 비활성화된 LLM 전용 실행도 마찬가지입니다. Codex는 "cached"를 선호 사항으로 취급하고, 제한 없는 앱 서버 턴에서는 이를 실시간 외부 접근으로 해석합니다. 네이티브 allowedDomains가 설정되어 있으면 자동 관리형 폴백은 닫힌 상태로 실패하여 허용 목록이 우회되지 않도록 합니다. 지속적인 유효 검색 정책 변경은 다음 턴 전에 바인딩된 Codex 스레드를 교체합니다. 일시적인 턴별 제한은 임시 제한 스레드를 사용하고, 나중에 재개할 수 있도록 기존 바인딩을 유지합니다. sessions_yield와 메시지 도구 전용 소스 응답은 턴 제어 계약이므로 직접 유지됩니다. sessions_spawn은 검색 가능 상태로 유지되어 Codex의 네이티브 spawn_agent가 기본 Codex 하위 에이전트 표면으로 남으며, 명시적 OpenClaw 또는 ACP 위임은 여전히 openclaw 동적 도구 네임스페이스를 통해 사용할 수 있습니다. Heartbeat 협업 지침은 도구가 아직 로드되지 않은 경우 Heartbeat 턴을 끝내기 전에 Codex에 heartbeat_respond를 검색하라고 알려 줍니다. 지연된 동적 도구를 검색할 수 없는 사용자 지정 Codex 앱 서버에 연결하거나 전체 도구 페이로드를 디버깅하는 경우에만 codexDynamicToolsLoading: "direct"를 설정하세요. 지원되는 최상위 Codex Plugin 필드:
필드기본값의미
codexDynamicToolsLoading"searchable"OpenClaw 동적 도구를 초기 Codex 도구 컨텍스트에 직접 넣으려면 "direct"를 사용합니다.
codexDynamicToolsExclude[]Codex 앱 서버 턴에서 생략할 추가 OpenClaw 동적 도구 이름입니다.
codexPlugins비활성화마이그레이션된 소스 설치 큐레이션 Plugin을 위한 네이티브 Codex Plugin/앱 지원입니다.
지원되는 appServer 필드:
필드기본값의미
transport"stdio""stdio"는 Codex를 생성하고, "websocket"url에 연결합니다.
homeScope"agent""agent"는 OpenClaw 에이전트별로 Codex 상태를 격리합니다. "user"는 네이티브 $CODEX_HOME 또는 ~/.codex를 공유하고, 네이티브 인증을 사용하며, 소유자 전용 스레드 관리를 활성화합니다. 사용자 범위에는 stdio가 필요합니다.
command관리형 Codex 바이너리stdio 전송용 실행 파일입니다. 관리형 바이너리를 사용하려면 설정하지 않은 상태로 두고, 명시적으로 재정의할 때만 설정하세요.
args["app-server", "--listen", "stdio://"]stdio 전송용 인수입니다.
url설정 안 됨WebSocket 앱 서버 URL입니다.
authToken설정 안 됨WebSocket 전송용 Bearer 토큰입니다. 리터럴 문자열 또는 ${CODEX_APP_SERVER_TOKEN} 같은 SecretInput을 허용합니다.
headers{}추가 WebSocket 헤더입니다. 헤더 값은 리터럴 문자열 또는 SecretInput 값을 허용합니다. 예: x-codex-client-session-token: "${CODEX_CLIENT_SESSION_TOKEN}".
clearEnv[]OpenClaw가 상속 환경을 구성한 뒤 생성된 stdio 앱 서버 프로세스에서 제거되는 추가 환경 변수 이름입니다. OpenClaw는 로컬 실행을 위해 선택된 CODEX_HOME과 상속된 HOME을 유지합니다.
codeModeOnlyfalseCodex의 코드 모드 전용 도구 표면을 사용하도록 선택합니다. OpenClaw 동적 도구는 Codex에 계속 등록되므로 중첩된 tools.* 호출은 앱 서버 item/tool/call 브리지를 통해 반환됩니다.
remoteWorkspaceRoot설정 안 됨원격 Codex 앱 서버 작업 영역 루트입니다. 설정하면 OpenClaw는 해석된 OpenClaw 작업 영역에서 로컬 작업 영역 루트를 추론하고, 이 원격 루트 아래의 현재 cwd 접미사를 보존하며, 최종 앱 서버 cwd만 Codex로 보냅니다. cwd가 해석된 OpenClaw 작업 영역 루트 밖에 있으면 OpenClaw는 Gateway 로컬 경로를 원격 앱 서버로 보내는 대신 실패로 닫습니다.
requestTimeoutMs60000앱 서버 제어 플레인 호출의 제한 시간입니다.
turnCompletionIdleTimeoutMs60000Codex가 턴을 수락한 뒤 또는 OpenClaw가 turn/completed를 기다리는 동안 턴 범위 앱 서버 요청 후의 무음 구간입니다.
postToolRawAssistantCompletionIdleTimeoutMs300000OpenClaw가 turn/completed를 기다리는 동안 도구 핸드오프, 네이티브 도구 완료, 도구 후 원시 어시스턴트 진행, 원시 추론 완료 또는 추론 진행 뒤에 사용되는 완료 유휴 및 진행 가드입니다. 도구 후 합성이 최종 어시스턴트 릴리스 예산보다 정당하게 더 오래 조용히 유지될 수 있는 신뢰할 수 있거나 무거운 작업에 이것을 사용하세요.
mode로컬 Codex 요구 사항이 YOLO를 허용하지 않는 경우를 제외하고 "yolo"YOLO 또는 guardian 검토 실행을 위한 프리셋입니다. danger-full-access, never 승인 또는 user 검토자를 생략하는 로컬 stdio 요구 사항은 암시적 기본값을 guardian으로 만듭니다.
approvalPolicy"never" 또는 허용된 guardian 승인 정책스레드 시작/재개/턴으로 전송되는 네이티브 Codex 승인 정책입니다. guardian 기본값은 허용될 때 "on-request"를 선호합니다.
sandbox"danger-full-access" 또는 허용된 guardian sandbox스레드 시작/재개로 전송되는 네이티브 Codex sandbox 모드입니다. guardian 기본값은 허용될 때 "workspace-write"를 선호하고, 그렇지 않으면 "read-only"를 선호합니다. OpenClaw sandbox가 활성화되면 danger-full-access 턴은 OpenClaw sandbox 송신 설정에서 파생된 네트워크 액세스와 함께 Codex workspace-write를 사용합니다.
approvalsReviewer"user" 또는 허용된 guardian 검토자허용될 때 Codex가 네이티브 승인 프롬프트를 검토하게 하려면 "auto_review"를 사용하고, 그렇지 않으면 guardian_subagent 또는 user를 사용합니다. guardian_subagent는 레거시 별칭으로 남아 있습니다.
serviceTier설정 안 됨선택적 Codex 앱 서버 서비스 계층입니다. "priority"는 빠른 모드 라우팅을 활성화하고, "flex"는 flex 처리를 요청하며, null은 재정의를 지우고, 레거시 "fast""priority"로 허용됩니다.
networkProxy비활성화됨앱 서버 명령을 위해 Codex 권한 프로필 네트워킹을 사용하도록 선택합니다. OpenClaw는 sandbox를 보내는 대신 선택된 permissions.<profile>.network 구성을 정의하고 default_permissions로 선택합니다.
experimental.sandboxExecServerfalseOpenClaw sandbox 기반 Codex 환경을 Codex 앱 서버 0.132.0 이상에 등록하여 네이티브 Codex 실행이 활성 OpenClaw sandbox 안에서 실행될 수 있게 하는 미리 보기 선택 사항입니다.
appServer.networkProxy는 Codex sandbox 계약을 변경하기 때문에 명시적입니다. 활성화되면 OpenClaw는 생성된 권한 프로필이 Codex 관리형 네트워킹을 시작할 수 있도록 Codex 스레드 구성에서 features.network_proxy.enableddefault_permissions도 설정합니다. 기본적으로 OpenClaw는 프로필 본문에서 충돌에 강한 openclaw-network-<fingerprint> 프로필 이름을 생성합니다. 안정적인 로컬 이름이 필요할 때만 profileName을 사용하세요.
export default {
  plugins: {
    entries: {
      codex: {
        config: {
          appServer: {
            sandbox: "workspace-write",
            networkProxy: {
              enabled: true,
              domains: {
                "api.openai.com": "allow",
                "blocked.example.com": "deny",
              },
              unixSockets: {
                "/tmp/proxy.sock": "allow",
                "/tmp/blocked.sock": "none",
              },
              allowUpstreamProxy: true,
              proxyUrl: "http://127.0.0.1:3128",
            },
          },
        },
      },
    },
  },
};
일반 app-server 런타임이 danger-full-access가 되는 경우, networkProxy를 활성화하면 생성된 권한 프로필에 workspace 스타일 파일 시스템 액세스를 사용합니다. Codex 관리형 네트워크 적용은 샌드박스 네트워킹이므로, 전체 액세스 프로필은 아웃바운드 트래픽을 보호하지 못합니다. 도메인 항목은 allow 또는 deny를 사용하고, Unix 소켓 항목은 Codex의 allow 또는 none 값을 사용합니다. OpenClaw 소유 동적 도구 호출은 appServer.requestTimeoutMs와 별도로 제한됩니다. Codex item/tool/call 요청은 기본적으로 90초 OpenClaw watchdog을 사용합니다. 호출별 양수 timeoutMs 인수는 해당 도구 예산을 늘리거나 줄입니다. image_generate 도구는 도구 호출이 자체 타임아웃을 제공하지 않을 때 agents.defaults.imageGenerationModel.timeoutMs를 사용하며, 그렇지 않으면 120초 이미지 생성 기본값을 사용합니다. 미디어 이해 image 도구는 tools.media.image.timeoutSeconds 또는 60초 미디어 기본값을 사용합니다. 이미지 이해의 경우 해당 타임아웃은 요청 자체에 적용되며, 이전 준비 작업으로 줄어들지 않습니다. 동적 도구 예산은 600000 ms로 상한이 설정됩니다. 타임아웃 시 OpenClaw는 지원되는 경우 도구 신호를 중단하고 실패한 동적 도구 응답을 Codex에 반환하여 세션을 processing 상태로 남겨두지 않고 턴을 계속할 수 있게 합니다. 이 watchdog은 외부 동적 item/tool/call 예산입니다. 공급자별 요청 타임아웃은 해당 호출 안에서 실행되며 자체 타임아웃 의미 체계를 유지합니다. Codex가 턴을 수락한 뒤, 그리고 OpenClaw가 턴 범위 app-server 요청에 응답한 뒤, 하네스는 Codex가 현재 턴 진행을 수행하고 최종적으로 네이티브 턴을 turn/completed로 완료할 것으로 기대합니다. app-server가 appServer.turnCompletionIdleTimeoutMs 동안 조용해지면, OpenClaw는 best-effort로 Codex 턴을 인터럽트하고 진단 타임아웃을 기록하며, 후속 채팅 메시지가 오래된 네이티브 턴 뒤에 대기하지 않도록 OpenClaw 세션 레인을 해제합니다. 같은 턴에 대한 대부분의 비종료 알림은 Codex가 턴이 아직 살아 있음을 증명했기 때문에 이 짧은 watchdog을 해제합니다. 도구 handoff는 더 긴 도구 이후 유휴 예산을 사용합니다. OpenClaw가 item/tool/call 응답을 반환한 뒤, commandExecution 같은 네이티브 도구 항목이 완료된 뒤, 원시 custom_tool_call_output 완료 뒤, 그리고 도구 이후 원시 assistant 진행, 원시 reasoning 완료 또는 reasoning 진행 뒤에 적용됩니다. 이 가드는 구성된 경우 appServer.postToolRawAssistantCompletionIdleTimeoutMs를 사용하고, 그렇지 않으면 기본값으로 5분을 사용합니다. 같은 도구 이후 예산은 Codex가 다음 현재 턴 이벤트를 내보내기 전 조용한 합성 구간의 진행 watchdog도 연장합니다. 속도 제한 업데이트 같은 전역 app-server 알림은 턴 유휴 진행을 재설정하지 않습니다. Reasoning 완료, commentary agentMessage 완료, 도구 이전 원시 reasoning 또는 assistant 진행 뒤에는 자동 최종 응답이 이어질 수 있으므로, 세션 레인을 즉시 해제하는 대신 진행 이후 응답 가드를 사용합니다. 최종/비-commentary 완료 agentMessage 항목과 도구 이전 원시 assistant 완료만 assistant 출력 해제를 설정합니다. 그 뒤 Codex가 turn/completed 없이 조용해지면 OpenClaw는 best-effort로 네이티브 턴을 인터럽트하고 세션 레인을 해제합니다. 다른 턴 watch가 해당 해제 경쟁에서 이기더라도, 활성 네이티브 요청, 항목 또는 동적 도구 완료가 남아 있지 않고 assistant 출력 해제가 여전히 최신 완료 항목에 속하며 이후 항목 완료가 없으면, OpenClaw는 완료된 최종 assistant 항목을 계속 수락합니다. 이렇게 하면 턴을 재생하지 않고도 완료된 도구 작업 이후의 최종 답변을 보존할 수 있습니다. 부분 assistant 델타, 오래된 이전 응답, 비어 있는 이후 완료는 조건을 충족하지 않습니다. Assistant, 도구, 활성 항목 또는 부수 효과 증거가 없는 턴 완료 유휴 타임아웃을 포함한 재생 안전 stdio app-server 실패는 새로운 app-server 시도에서 한 번 재시도됩니다. 안전하지 않은 타임아웃은 여전히 멈춘 app-server 클라이언트를 폐기하고 OpenClaw 세션 레인을 해제합니다. 또한 자동으로 재생하지 않고 오래된 네이티브 스레드 바인딩을 정리합니다. 완료 watch 타임아웃은 Codex별 타임아웃 텍스트를 표시합니다. 재생 안전 사례는 응답이 불완전할 수 있다고 말하고, 안전하지 않은 사례는 다시 시도하기 전에 현재 상태를 확인하라고 사용자에게 알립니다. 공개 타임아웃 진단에는 마지막 app-server 알림 메서드, 원시 assistant 응답 항목 id/type/role, 활성 요청/항목 수, 설정된 watch 상태 같은 구조적 필드가 포함됩니다. 마지막 알림이 원시 assistant 응답 항목인 경우 제한된 assistant 텍스트 미리보기도 포함합니다. 원시 프롬프트나 도구 콘텐츠는 포함하지 않습니다. 로컬 테스트용 환경 재정의는 계속 사용할 수 있습니다.
  • OPENCLAW_CODEX_APP_SERVER_BIN
  • OPENCLAW_CODEX_APP_SERVER_ARGS
  • OPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardian
  • OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY
  • OPENCLAW_CODEX_APP_SERVER_SANDBOX
OPENCLAW_CODEX_APP_SERVER_BINappServer.command가 설정되지 않았을 때 관리형 바이너리를 우회합니다. OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1은 제거되었습니다. 대신 plugins.entries.codex.config.appServer.mode: "guardian"을 사용하거나, 일회성 로컬 테스트에는 OPENCLAW_CODEX_APP_SERVER_MODE=guardian을 사용하세요. 반복 가능한 배포에는 구성이 선호됩니다. 나머지 Codex 하네스 설정과 같은 검토된 파일에 Plugin 동작을 유지하기 때문입니다.

네이티브 Codex Plugin

네이티브 Codex Plugin 지원은 OpenClaw 하네스 턴과 동일한 Codex 스레드에서 Codex app-server 자체의 앱 및 Plugin 기능을 사용합니다. OpenClaw는 Codex Plugin을 합성 codex_plugin_* OpenClaw 동적 도구로 변환하지 않습니다. codexPlugins는 네이티브 Codex 하네스를 선택한 세션에만 영향을 줍니다. 기본 제공 하네스 실행, 일반 OpenAI 공급자 실행, ACP 대화 바인딩 또는 다른 하네스에는 영향이 없습니다. 최소 마이그레이션 구성:
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          codexPlugins: {
            enabled: true,
            allow_destructive_actions: true,
            plugins: {
              "google-calendar": {
                enabled: true,
                marketplaceName: "openai-curated",
                pluginName: "google-calendar",
              },
            },
          },
        },
      },
    },
  },
}
스레드 앱 구성은 OpenClaw가 Codex 하네스 세션을 설정하거나 오래된 Codex 스레드 바인딩을 교체할 때 계산됩니다. 매 턴마다 다시 계산되지 않습니다. codexPlugins를 변경한 뒤에는 향후 Codex 하네스 세션이 업데이트된 앱 세트로 시작되도록 /new, /reset을 사용하거나 Gateway를 다시 시작하세요. 마이그레이션 가능 여부, 앱 인벤토리, 파괴적 작업 정책, elicitations, 네이티브 Plugin 진단에 대해서는 네이티브 Codex Plugin을 참조하세요. OpenAI 측 앱 및 Plugin 액세스는 로그인한 Codex 계정과, Business 및 Enterprise/Edu 워크스페이스의 경우 워크스페이스 앱 제어에 의해 관리됩니다. OpenAI의 계정 및 워크스페이스 제어 개요는 ChatGPT 플랜으로 Codex 사용하기를 참조하세요.

Computer Use

Computer Use는 자체 설정 가이드에서 다룹니다. Codex Computer Use. 짧게 말하면, OpenClaw는 데스크톱 제어 앱을 vendoring하지 않으며 데스크톱 작업을 직접 실행하지 않습니다. OpenClaw는 Codex app-server를 준비하고, computer-use MCP 서버를 사용할 수 있는지 확인한 다음, Codex 모드 턴 동안 네이티브 MCP 도구 호출은 Codex가 소유하도록 둡니다.

런타임 경계

Codex 하네스는 저수준 임베디드 에이전트 실행기만 변경합니다.
  • OpenClaw 동적 도구는 지원됩니다. Codex는 OpenClaw에 해당 도구 실행을 요청하므로, OpenClaw는 실행 경로에 남아 있습니다.
  • Codex 네이티브 shell, patch, MCP, 네이티브 앱 도구는 Codex가 소유합니다. OpenClaw는 지원되는 relay를 통해 선택된 네이티브 이벤트를 관찰하거나 차단할 수 있지만, 네이티브 도구 인수를 다시 작성하지는 않습니다.
  • Codex는 네이티브 Compaction을 소유합니다. OpenClaw는 채널 기록, 검색, /new, /reset, 향후 모델 또는 하네스 전환을 위해 transcript mirror를 유지하지만, Codex Compaction을 OpenClaw 또는 context-engine summarizer로 대체하지 않습니다.
  • 미디어 생성, 미디어 이해, TTS, 승인, 메시징 도구 출력은 계속 해당 OpenClaw 공급자/모델 설정을 통해 처리됩니다.
  • tool_result_persist는 OpenClaw 소유 transcript 도구 결과에 적용되며, Codex 네이티브 도구 결과 레코드에는 적용되지 않습니다.
hook 계층, 지원되는 V1 표면, 네이티브 권한 처리, 큐 steering, Codex 피드백 업로드 메커니즘, Compaction 세부 정보는 Codex 하네스 런타임을 참조하세요.

문제 해결

Codex가 일반 /model 공급자로 표시되지 않음: 새 구성에서는 예상된 동작입니다. openai/gpt-* 모델을 선택하고, plugins.entries.codex.enabled를 활성화한 다음, plugins.allowcodex를 제외하는지 확인하세요. OpenClaw가 Codex 대신 기본 제공 하네스를 사용함: 모델 ref가 공식 OpenAI 공급자의 openai/gpt-*인지, Codex Plugin이 설치되고 활성화되어 있는지 확인하세요. 테스트 중 엄격한 증명이 필요하면 공급자 또는 모델 agentRuntime.id: "codex"를 설정하세요. 강제 Codex 런타임은 OpenClaw로 fallback하지 않고 실패합니다. OpenAI Codex 런타임이 API-key 경로로 fallback함: 모델, 런타임, 선택된 공급자, 실패를 보여주는 redacted Gateway 발췌를 수집하세요. 영향을 받는 공동 작업자에게 OpenClaw 호스트에서 이 읽기 전용 명령을 실행하도록 요청하세요.
(
  pattern='openai/gpt-5\.[45]|openai[-]codex|agentRuntime(\.id)?|harnessRuntime|Runtime: OpenAI Codex|legacy OpenAI Codex prefix|resolveSelectedOpenAIRuntimeProvider|candidateProvider[": ]+openai|status[": ]+401|Incorrect API key|No API key|api-key path|API-key path|OAuth'

  if ls /tmp/openclaw/openclaw-*.log >/dev/null 2>&1; then
    grep -E -i -n "$pattern" /tmp/openclaw/openclaw-*.log 2>/dev/null || true
  else
    journalctl --user -u openclaw-gateway --since today --no-pager 2>/dev/null \
      | grep -E -i "$pattern" || true
  fi
) | sed -E \
    -e 's/(Authorization: Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \
    -e 's/(Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \
    -e 's/(api[_ -]?key[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \
    -e 's/(OPENAI_API_KEY[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \
    -e 's/sk-[A-Za-z0-9_-]{12,}/sk-[REDACTED]/g' \
    -e 's/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/[EMAIL-REDACTED]/g' \
  | tail -200
유용한 발췌에는 보통 openai/gpt-5.5 또는 openai/gpt-5.4, Runtime: OpenAI Codex, agentRuntime.id 또는 harnessRuntime, candidateProvider: "openai", 그리고 401, Incorrect API key 또는 No API key 결과가 포함됩니다. 수정된 실행은 일반 OpenAI API-key 실패 대신 OpenAI OAuth 경로를 보여야 합니다. 레거시 Codex 모델 refs 구성이 남아 있음: openclaw doctor --fix를 실행하세요. Doctor는 레거시 모델 refs를 openai/*로 다시 작성하고, 오래된 세션 및 전체 에이전트 런타임 pin을 제거하며, 기존 auth-profile 재정의를 보존합니다. app-server가 거부됨: Codex app-server 0.125.0 이상을 사용하세요. 같은 버전의 prerelease 또는 0.125.0-alpha.2, 0.125.0+custom 같은 build-suffixed 버전은 OpenClaw가 안정 0.125.0 프로토콜 하한을 테스트하므로 거부됩니다. /codex status가 연결할 수 없음: 번들 codex Plugin이 활성화되어 있는지, allowlist가 구성된 경우 plugins.allow에 해당 Plugin이 포함되어 있는지, 그리고 사용자 지정 appServer.command, url, authToken 또는 headers가 유효한지 확인하세요. 모델 검색이 느림: plugins.entries.codex.config.discovery.timeoutMs를 낮추거나 검색을 비활성화하세요. Codex 하네스 참조를 참조하세요. WebSocket 전송이 즉시 실패함: appServer.url, authToken, headers를 확인하고 원격 app-server가 같은 Codex app-server 프로토콜 버전을 사용하는지 확인하세요. 네이티브 셸 또는 패치 도구가 Native hook relay unavailable로 차단됨: Codex 스레드가 OpenClaw에 더 이상 등록되어 있지 않은 네이티브 훅 릴레이 ID를 여전히 사용하려고 합니다. 이는 ACP 백엔드, 제공자, GitHub 또는 셸 명령 실패가 아니라 네이티브 Codex 훅 전송 문제입니다. 영향을 받는 채팅에서 /new 또는 /reset으로 새 세션을 시작한 다음 무해한 명령을 다시 시도하세요. 한 번은 작동하지만 다음 네이티브 도구 호출이 다시 실패한다면 /new는 임시 우회책으로만 취급하세요. Codex 앱 서버 또는 OpenClaw Gateway를 다시 시작한 뒤 프롬프트를 새 세션에 복사하여 오래된 스레드가 삭제되고 네이티브 훅 등록이 다시 생성되도록 하세요. Codex가 아닌 모델이 내장 하네스를 사용함: 제공자 또는 모델 런타임 정책이 다른 하네스로 라우팅하지 않는 한 예상된 동작입니다. 일반적인 비 OpenAI 제공자 참조는 auto 모드에서 정상 제공자 경로를 유지합니다. Computer Use가 설치되어 있지만 도구가 실행되지 않음: 새 세션에서 /codex computer-use status를 확인하세요. 도구가 Native hook relay unavailable를 보고하면 위의 네이티브 훅 릴레이 복구를 사용하세요. Codex Computer Use를 참조하세요.

관련