Codexの設定・workspace・モデル可用性を分けて確認する方法
Codexのconfig.toml、requirements.toml、Managed configuration、workspace権限、モデル可用性を、適用範囲と認証境界から整理します。
公開 2026.08.11 / 更新 2026.09.26
この記事のポイント
- config.tomlとrequirements.tomlのscopeを分ける
- Managed configurationと個人設定の優先関係を見る
- workspace・認証・model access・runtime permissionを混同しない
Sample Configを完成済み設定と扱わない
| 確認点 | 公式Docsの現行案内 | Windows・再開時の確認 |
|---|---|---|
| コピー範囲とscope | sampleはmain keys、default behavior、recommended example、notesを含むreference。必要なkeys・sectionsだけを user configの .codex/config.toml または project-scopedの .codex/config.tomlへ移す | user profileとproject scopeを混同しない。対象repo、.codex、CODEX_HOME、config precedence、共有・Git管理範囲を確認し、全sampleを無条件に貼り付けない |
| TOMLの構造 | root keysはtablesより前に置く。optionalでunsetのkeyはcommented exampleとして示される | 既存configへ部分適用する前に構文、重複table、コメント解除したkey、profileの優先順位を確認する。設定ファイルが読めない状態でtaskを続けない |
| profile | config profilesはCODEX_HOME配下の別fileとして保存し、例では ci.config.tomlをcodex --profile ciで選ぶ | default profileとci・release profileのmodel、approval、sandbox、network、MCP、secret参照を照合する。profile指定忘れで安全境界が変わらないか確認する |
| sandbox workspace-write | sandbox_workspace_writeのwritable_rootsのdefaultは空配列、network_accessのdefaultはfalse。追加の書き込みrootやoutbound networkを明示的に設定する | writable rootをworkspace外へ広げず、networkを必要taskだけで明示する。sampleのfalse・emptyをコメント解除しただけで安全性や実行成功を保証しない |
| Windows・WSL | sampleにはWindows onlyのwindows_wsl_setup_acknowledgedと、Windows native sandboxのwindows.sandboxでunelevated・elevatedを選ぶ例がある | native Windows、WSL2、VS Code WSL、Codex CLIのconfigを別surfaceとして確認する。elevated、WSL、approval、PATH、repo pathをsampleから自動適用しない |
| telemetry・header | OTLP exporterのendpoint、protocol、headers、TLSのexampleがあり、header値には環境変数を参照する例がある | endpoint、外部送信、TLS証明書、header token、ログ・traceの内容をreviewする。secretをconfigへ直書きせず、送信先と保持期間を別に確認する |
WindowsでSample Configから再開する確認順
- 現在のhostがWindows nativeかWSL2か、対象repoのabsolute path、Git root、user config、project-scoped .codex/config.toml、CODEX_HOME、使用profileを先に記録する。
- sampleから必要なkey・sectionだけを選び、root keyとtableの位置、重複、commented exampleの解除、config precedence、既存AGENTS.md・policyとの関係を確認する。
- approval_policy、sandbox_mode、writable_roots、network_access、MCP、model、service tier、secret・credentialを一度に広げない。変更前後にcodexの設定表示、status、Git diff、対象pathを確認する。
- Windows native・WSL2・IDE・CLIで実際に読むconfigとprofileが同じとは扱わない。windows.sandbox、windows_wsl_setup_acknowledged、PATH、repo path、生成先をsurfaceごとに確認する。
- OTLPや外部networkを使う場合はendpoint、TLS、header、token、個人情報・source・promptの送信範囲を承認し、設定後に低リスクtaskとログ確認を行う。sample適用をtest・release・production gateの代わりにしない。
ChatGPT/Codex Sample ConfigurationのFAQ
Sample Configurationをそのままconfig.tomlへコピーすれば動きますか?
動作・安全性の保証とは扱いません。公式Docsは必要なkeyとsectionだけをuser configまたはproject-scoped configへ移し、環境に合わせるstarting pointとして説明しています。profile、scope、権限、network、MCPを確認します。
user configとproject-scoped configは同じ場所ですか?
同じとは扱いません。user configとrepo内のproject-scoped .codex/config.tomlはscope、共有、Git管理、precedenceが異なります。実際のpath、CODEX_HOME、対象repo、読み込まれる設定を確認します。
writable_rootsとnetwork_accessのsample defaultは安全の証明ですか?
証明ではありません。sampleではwritable_rootsのdefaultが空配列、network_accessのdefaultがfalseですが、実際のconfig、profile、approval、MCP、OS policy、hostを確認します。
Windows sandboxのunelevated・elevatedをsampleから選べますか?
選択肢の存在と自環境での利用可否を分けます。native WindowsかWSL2か、organization policy、Codex version、approval、PATH、repo path、実際のsandbox状態を確認してから判断します。
OTLP headerのtokenをconfig.tomlへ書いてよいですか?
直書きしません。公式sampleは環境変数を参照する例を示しています。実際のtoken、endpoint、TLS、ログ・traceの内容、送信先、保持範囲をsecret boundaryとして確認します。
Requirements・Managed defaults・workspace権限を分ける
| 確認点 | 公式Docsの現行案内 | Windows・再開時の確認 |
|---|---|---|
| 対象clientと権限の境界 | Managed configurationはChatGPT desktop app、Codex CLI、IDE extensionのsupported local clientでruntime behaviorを管理する。client・versionごとに対応差がある | ChatGPT workspaceへのアクセス、seat割り当て、workspace RBACを自動付与するとは扱わない。native Windows、WSL、CLI、IDE、desktopを別surfaceで確認する |
| Requirementsとmanaged defaults | Requirementsはadmin-enforced constraintで、userがoverrideできない。Managed defaultsはclient launch時のstarting valueで、run中は変更できても次のlaunchで再適用される | 管理者制約とlocal configの値を同じeffective settingと扱わない。再開後に値が戻る前提で、現在のrunと次回launchの両方を確認する |
| requirements.tomlの対象 | approval policy、approval reviewer、automatic review、sandbox mode、permission profile、web search、managed hooks、allowed MCP server、plugin marketplace source、feature flagなどを制御できる。conflict時はcompatible valueへfallbackし通知される | allowed_permission_profilesとmanaged default_permissions、allowed_sandbox_modesなどはCodex versionの対応を確認する。localのallowを足してadmin constraintを回避しない |
| 設定レイヤーとpath | Requirementsはsystem requirements、enterprise cloud config bundle、legacy managed_config fields、macOS managed preferencesの順で重なり、scalar・list、table、rules・hooksなどで合成規則が異なる。Managed defaultsはmanaged preferences、managed_config.toml、config.tomlの順で確認する | Windowsではmanaged_config.tomlの場所と、user config、project-scoped config、CLI --configの範囲を分ける。CLI --configでmanaged constraintを上書きできるとは扱わず、missing fileは無理に作らない |
| MCPとpluginのallowlist | MCP allowlistはserver nameだけでなくidentity matchingが必要で、stdioはcommand、HTTPはURLを照合する。MCP listが空なら対応clientでは全MCPを無効にできる。plugin marketplaceの制限は対応するlocal clientだけに適用される | 名前が一致しただけで別command、URL、引数、環境へ広がるとは扱わない。Chat、IDE、mobileへmarketplaceの前提を持ち込まず、実際のclient surfaceを確認する |
| Windows・network・file restriction | experimental network requirementsはWindowsで対応が限定的。native Windowsのdeny_readはdirect file toolに適用されるが、shell subprocessのreadへ同じ制約が自動適用されるとは限らない | Windows nativeかWSLか、client version、network、OTel、log_user_prompt、secretを小さな対象で検証する。experimental設定を組織全体へ一括適用せず、shell経由の読み取り境界も別にreviewする |
WindowsでManaged configurationから再開する確認順
- ChatGPT desktop app、Codex CLI、IDE extensionのversionとhostを記録し、native WindowsかWSLか、local・cloud・MDM・system requirementsのどの層を使うかを先に切り分ける。
- requirements.tomlのadmin-enforced constraintとmanaged_config.tomlのdefaultを別々に確認し、effective config・status・実際のsandbox・approvalを照合する。
- Requirementsの変更はuserがoverrideできない一方、managed defaultの変更はrun中だけ有効で次回launchに戻る可能性を確認し、再開前後の値とGit diffを記録する。
- MCPを許可する場合はnameだけでなくstdio commandまたはHTTP URLのidentity、structured commandのmatch、空allowlistの意味、plugin marketplaceの対応clientを確認する。
- network、OTel、prompt logging、filesystem restriction、secret送信を最小範囲でテストし、Windowsのdirect file toolとshell subprocessの違いを確認する。Managed configurationの確認をworkspace RBAC、production、deployの完了条件にしない。
ChatGPT/Codex Managed configurationのFAQ
Managed configurationでChatGPT workspaceへアクセスできますか?
できるとは扱いません。公式Docsはlocal clientのruntime behaviorを管理する仕組みと説明しており、workspace access、seat assignment、workspace RBACを付与するものではありません。
RequirementsをuserのconfigやCLI --configでoverrideできますか?
overrideできるとは扱いません。Requirementsはadmin-enforced constraintです。Managed defaultsはrun中に変更できる場合がありますが、次のlaunchで再適用されるため、両者を分けて確認します。
MCP allowlistでserver名を許可すれば接続できますか?
接続の保証とは扱いません。公式Docsはnameに加えてidentity matchingを求め、stdioではcommand、HTTPではURLを照合します。client version、引数やpath、実際のeffective configを確認します。
MCPの空allowlistは何もしない設定ですか?
何もしないとは扱いません。対応するmanaged MCP設定でlistが空の場合、すべてのMCPを無効化する意味になり得ます。空値、未設定、client対応差を分けて確認します。
Windowsのexperimental networkやdeny_readはnative WindowsとWSLで同じですか?
同じとは扱いません。公式DocsはWindowsでexperimental networkの対応が限定的で、native Windowsのdeny_readもdirect file toolとshell subprocessで境界が異なると説明しています。version、host、実測を確認します。
project-scoped configはtrustとkey scopeで制限される
| 確認点 | 公式Docsの現行案内 | Windows・再開時の確認 |
|---|---|---|
| user-levelとproject-scoped | user-levelは~/.codex/config.toml。project-scopedはrepo内の.codex/config.tomlへ追加できるが、Codexはprojectをtrustしている時だけ読み込む | trustを権限付与や安全の証明と扱わない。対象repo、Git root、.codex/config.tomlのpath、native Windows・WSLのhostを先に確認する |
| projectから上書きできないkey | project-local configではopenai_base_url、chatgpt_base_url、apps_mcp_product_sku、model_provider、model_providers、notify、profile、profiles、experimental_realtime_ws_base_url、otelなどを無視する | provider、auth、host-owned app request metadata、notification、profile selection、telemetry routingをproject設定で変えたつもりにならない。実際に読むuser-level configとprofileを確認する |
| profile file | profileはconfig.tomlの隣に$CODEX_HOME/profile-name.config.tomlとして置き、codex --profile profile-nameで選択する | default configとprofile file、環境変数CODEX_HOME、CLI引数、Windows・WSLごとの実行hostを照合する。profile名だけでmodel、approval、sandbox、network、MCPの実効値を推測しない |
| approval・sandboxの読み方 | approval_policy、sandbox_mode、sandbox_workspace_write.*は、Sandbox and approvals、protected paths、network accessの説明と組み合わせて確認する。beta permission profileはPermissions Docsを参照する | approvalの値だけでfilesystem、network、MCP、secret境界が決まるとは扱わない。実効sandbox、writable roots、network、permission profile、requirementsを別々に確認する |
| config keyとclient差 | Configuration Referenceはconfig.tomlとrequirements.tomlのkey referenceで、features、apps、agents、Computer Use、Windows sandboxなどclient・versionで対応差がある | 未対応keyを追加して動作や安全性が変わったとは扱わない。Codex CLI、desktop app、IDE extension、WSLの実行面とversionを記録する |
| 設定変更の証跡 | keyの型、選択値、default、deprecated alias、precedenceをreferenceで確認できるが、概念説明やexampleはConfig basics・Advanced Configへ分かれている | 変更前後のconfig、profile、status、Git diff、生成物を保存し、referenceのkey追加だけでrelease・production・外部送信の確認完了としない |
WindowsでConfiguration Referenceから再開する確認順
- repoがtrustedか、対象Git root、native WindowsかWSLか、実行中のCodex client・version、CODEX_HOME、user-level config、project-scoped configを記録する。
- project-scoped configへ追加するkeyを一つずつ選び、provider・auth・profile・notification・telemetryなどprojectで無視されるkeyを混ぜない。
- profileを使う場合はprofile fileのpathと--profile名、approval_policy、sandbox_mode、writable roots、network、MCP、modelをstatus・実行結果と照合する。
- approval、sandbox、permission profile、requirementsを別レイヤーで確認し、project trustやconfig読み込みをadmin policy、workspace access、external service accessと混同しない。
- 変更後は低リスクtask、Git diff、ログ・secret・外部送信、dist/upload parityを確認する。Config Referenceのkey存在だけでWindows/WSL、release、productionの成功を断定しない。
ChatGPT/Codex Configuration ReferenceのFAQ
repo内の.codex/config.tomlは常に読み込まれますか?
常にとは扱いません。公式Docsはproject-scoped configをprojectがtrustedな場合だけ読み込むと説明しています。trust、path、host、実際のeffective configを確認します。
project configからAPIのbase URLやmodel providerを変えられますか?
変えられるとは扱いません。公式Referenceではproject-local configのopenai_base_url、chatgpt_base_url、model_provider、model_providersなどは無視される対象です。user-level configとprovider境界を確認します。
profile名を指定すれば設定は確定しますか?
確定とは扱いません。profile fileのpath、CODEX_HOME、--profile、client、approval、sandbox、network、MCP、modelの実効値を別に確認します。
approval_policyだけ見れば安全性を判断できますか?
判断しません。公式Docsはapproval、sandbox、protected paths、network、permission profilesを関連資料で確認する構成です。filesystem、network、MCP、secretの境界を個別にreviewします。
project configでOTelや通知設定も統一できますか?
project configで統一できるとは扱いません。otel、notify、profileなどproject-localで無視されるkeyがあるため、user-level config、host-owned metadata、実際のclient設定を確認します。
Codex Local・workspace・runtime・外部サービスを分ける
| control boundary | 公式Docsが制御すると説明する範囲 | 制御しない範囲・Windows確認 |
|---|---|---|
| ChatGPT workspace | membership、seats、built-in administration roles、supported workspace featuresのRBAC | local agent permissions、Platform API organization access、connected serviceのpermissionは別。workspaceのseat・role・RBACとnative Windowsのsandboxを混同しない |
| Local clients | ChatGPT desktop app、Codex CLI、IDE extensionでのcovered capabilityのapprovals、filesystem・network access、permission profiles、allowed integrations | ChatGPT seat、feature・model entitlement、external data accessは付与しない。client・version、managed requirements、approval、sandbox、MCPを別に確認する |
| Codex cloud | hosted Codex workflowのeligibilityと、利用できるcloud environment | local runtime policyやsource systemが与えるrepository permissionは別。cloud、local、worktree、remoteのpathとGit stateを分ける |
| Platform API | API-authenticated workのorganization・project membership、API keys、model access、usage、billing | ChatGPT workspace membership、local-client access、Codex cloud accessは付与しない。API key、base URL、billing、model entitlementをローカルconfigから推測しない |
| Plugins | plugin availability・installation、bundled skills、connector access、supported connector actions | connected serviceのauthorizationやlocal・cloud runtime permissionは広げない。pluginが見えることと、sign-in accountがデータを読めることを分ける |
| Connected systems | authenticated accountがsource systemで読めるrepositories、files、messages、actions | workspace、plugin、Codex cloud、Platform APIのentitlementは付与しない。GitHub等の外部アカウント、repo、branch、file、actionを個別に確認する |
Windowsでworkspace/local境界から再開する確認順
- workspace settingsのCodex Localが独立client名ではないことを確認し、実際に使うChatGPT desktop app、Codex CLI、IDE extension、version、Windows native・WSLを記録する。
- seat・workspace role・RBAC・feature accessと、localのapproval、permission profile、sandbox、filesystem・network、managed requirementsを別の欄で確認する。
- pluginがavailableでもconnected systemのauthorizationやauthenticated accountのrepo・file・message accessが自動で広がるとは扱わない。実際のsource systemのpermissionを確認する。
- Codex cloud、local worktree、Platform APIを同じ実行面と扱わず、host、repo path、branch、credential、model、billing、外部送信の境界を照合する。
- 要求がworkspace、local client、cloud、API、plugin、connected systemの複数boundaryを通る場合は全てを確認し、local permission profileやCodex Localの表示だけでworkspace・model・production accessの完了としない。
ChatGPT/Codex Roles and workspace permissionsのFAQ
Codex Localは別のCodex製品やclientですか?
別product・clientとは扱いません。公式Docsではworkspace settings上のlocal accessとaccess-token controlsのgrouping labelで、個別controlごとにscopeが異なると説明しています。
workspaceでCodex Localを許可すればlocal実行はフルアクセスになりますか?
フルアクセスの保証にはなりません。workspace permissionはlocal useの入口・scopeを扱いますが、approval、filesystem、network、permission profile、managed requirements、client versionは別に効きます。
local permission profileでseatやmodel entitlementも付与できますか?
付与できるとは扱いません。local profileはsupported local clientのruntimeを制限できますが、seat、workspace role、feature・model entitlement、external system permissionは変更しません。
pluginが使えるなら接続先のrepoやfilesも読めますか?
読めるとは扱いません。plugin availabilityとconnected systemのauthenticated accountのauthorizationは別boundaryです。対象repo、file、message、actionのpermissionを実際に確認します。
Codex cloudの利用資格があればlocal repoも同じ権限で扱えますか?
同じとは扱いません。公式DocsはCodex cloudのeligibility・environmentと、local runtime policy・source systemのrepository permissionを分けています。host、path、credential、Git stateを確認します。
モデル可否・認証・実行権限を分ける
| product・authentication boundary | 公式Docsの現行案内 | Windows・再開時の確認 |
|---|---|---|
| ChatGPT workspace | model accessはworkspace plan、member access、workspace settings、supported role permissionsに従う | workspaceのmodel pickerや設定をCodex desktop、CLI、IDE、cloud、APIの普遍的なmodel switchと扱わない。seat、role、RBACを別に確認する |
| ChatGPT sign-inのlocal client | ChatGPT desktop app、Codex CLI、IDE extensionでは、specific clientが対応するmodelとsigned-in ChatGPT identityのaccessに従う | ChatGPT sign-inかAPI keyか、native WindowsかWSLか、client versionと対応modelを確認する。workspace設定だけでCLI・IDEの選択可否を推測しない |
| Codex cloud | hosted Codex workflowが対応するmodelと、signed-in ChatGPT identityが利用できるaccessに従う | cloud environment、local repo、worktree、remote hostを同じmodel boundaryと扱わない。taskの実行面とcredentialを記録する |
| API-key authentication | ChatGPT desktop app、Codex CLI、IDE extensionをAPI keyで使う場合、keyに紐づくOpenAI API organization・projectがmodel accessを決める | ChatGPT workspaceのseat・model設定をAPI keyへ持ち込まない。organization、project、API key、billing、model IDを別に確認する |
| GPT-5.4 / miniの退役案内 | ChatGPT Learn Modelsは8/31退役済み、GPT-5.4はGPT-6 Sol、miniはGPT-6 Lunaへ置換と案内。Enterprise / EduのLunaはadminが有効化します。Help Centerの専用FAQは未来形のままGPT-5.6 Terra / Lunaを後継に記載しており、公式Docs間に更新差があります | 全体ステータスと推奨置換先はModels案内で確認し、個別のmodel accessはChatGPT sign-inのcurrent picker、workspace default、managed requirements、custom agent、scheduled taskと実行結果で確認します。名前置換だけでaccess、quota、runtime permissionが変わったとは扱いません |
| GPT-5.5の退役 | ChatGPT、Work、Codexから全planで2026-10-14に退役予定。Plus / Pro / Business / Enterprise / EduはGPT-6 Sol、Free / Goはdesktop appのGPT-6 Lunaを選べる場合があり、OpenAI APIは対象外です | workspace default、saved model、managed config、custom agent、scheduled task、model指定scriptを点検します。surface、plan、workspace、clientごとのavailable replacementを確認します |
| model accessとruntime permission | model accessは選択可能性を決め、local permission profileとmanaged requirementsはrun後のfile・network・sandbox・approvalを決める。profileはmodel accessを付与せず、model accessもsandbox等を弱めない | modelが選べてもfilesystem、network、MCP、source-system permission、approvalが広がるとは扱わない。modelと権限を別の検証項目にする |
Windowsでmodel availabilityから再開する確認順
- 最初にproduct surface(ChatGPT workspace、desktop、CLI、IDE、cloud、API)とauthentication(ChatGPT sign-inかAPI keyか)、native Windows・WSL、client versionを記録する。
- workspace plan・member・role、API organization・project、signed-in identity、Codex client supportのどれがmodel accessを決めるかをsurfaceごとに確認し、ChatGPT model pickerを横展開しない。
- 8月31日のGPT-5.4退役日は経過しています。ChatGPT Learn Modelsの現行案内と、Help CenterのGPT-5.4専用FAQに残る旧置換文を区別し、current pickerとprofile、managed defaults、custom agent、scheduled taskの保存model IDを照合します。GPT-5.5の明示指定も10月14日までにplan別の利用可能な後継へ見直し、実行結果を確認します。API key利用はOpenAI API側で別に確認します。
- modelが利用可能になった後も、approval、sandbox、filesystem、network、MCP、connected system、secret boundaryを別にテストする。model accessをフル権限の代わりにしない。
- 選択できない場合はsurface・auth・workspaceまたはAPI organization/project・current access control・client/cloud supportの順で確認し、production・billing・deployを自動操作しない。
ChatGPT/Codex Workspace model availabilityのFAQ
ChatGPT workspaceで選べるmodelはCodex CLIでも選べますか?
同じとは扱いません。公式DocsはChatGPT workspace、desktop appのCodex、CLI、IDE、cloud、APIを別のproduct・authentication boundaryとして説明しています。surface、sign-in、client supportを確認します。
API keyでCodexを使う時もChatGPT workspaceのmodel設定が効きますか?
効くとは扱いません。API-key authenticationではkeyに紐づくOpenAI API organization・projectがmodel accessを決めるため、workspaceのseatやmodel settingと分けて確認します。
permission profileを変えれば、選べないmodelを使えますか?
使えるとは扱いません。公式Docsはpermission profileがmodel accessを付与しないと説明しています。model availabilityとsandbox、approval、network、filesystemを別に確認します。
GPT-5.4の置換先はGPT-5.6ですか、それともGPT-6ですか?
OpenAIのHelp Center専用FAQにはGPT-5.6 Terra / Lunaが残っていますが、ChatGPT LearnのModels案内はGPT-5.4をGPT-6 Sol、GPT-5.4 miniをGPT-6 Lunaへ置き換えるよう更新されています。Enterprise / EduのLunaは管理者の有効化が必要です。個別の選択可否は利用中のplan、workspace、clientのpickerで確認します。
2026-08-31のGPT-5.4移行案内が過ぎた後、何を確認しますか?
2026-09-26に確認したHelp Centerは移行期限を未来形で案内し、個別環境の完了状況は示していません。ChatGPT sign-inでは現在のmodel pickerと保存設定を確認し、API key利用ではAPI側のmodel accessを別に確認します。
modelを選べれば、同じrunのfilesystemやnetworkも許可されていますか?
許可の証明にはなりません。model accessは選択可能性、permission profile・managed requirementsはrunのfilesystem・network・sandbox・approvalを決めます。connected systemとsecretも別にreviewします。
関連記事
- MCPの権限はどこまで許可する?AIエージェント連携を安全に始める最小権限ガイド
MCPはAIが使える道具を増やす仕組みです。便利さの前に、読み取り・書き込み・削除・外部送信を分けます。