Configure the ChatGPT desktop app with Amazon Bedrock in AWS GovCloud (US)

The ChatGPT desktop app is now available on Amazon Bedrock in AWS GovCloud (US) , providing access to OpenAI’s frontier models through two components. Work completes complex, multi-step tasks and delivers review-ready results, and Codex is a coding agent for developing, testing, and reviewing software. This walkthrough is intended for organizations whose security architecture requires model inference to use AWS GovCloud (US) identities, endpoints, and Regional controls. It configures Codex to route model requests through Amazon Bedrock Mantle in us-gov-west-1 , where access can be governed using AWS Identity and Access Management (IAM) and existing AWS GovCloud (US) network controls. Codex is the OpenAI coding agent for AI-powered software development. With GPT models powering inference, Codex introduces a new class of intelligence optimized for complex, long-horizon developer workflows. You can use the ChatGPT desktop app, the Codex CLI, and IDE integrations with Visual Studio Code, JetBrains, and Xcode. Model inference is routed through the Responses API on Amazon Bedrock. For customers with data residency requirements, processing stays within the Amazon Bedrock AWS Region that you select. You pay per token with no seat licenses and no per-developer commitments. Zero data retention (ZDR) is also supported. In this configurable mode, prompts and responses are processed without being written to durable storage by AWS or shared with model providers. This helps you protect sensitive information and meet stringent data-governance, privacy, and security requirements. This post walks through a controlled local deployment of the ChatGPT desktop app that sends model inference to Amazon Bedrock in AWS GovCloud (US-West). The configuration uses API-mode sign-in, a managed device policy, a named AWS profile, and network restrictions. These restrictions allow access only to the approved Amazon Bedrock endpoint while disabling other external connections and network-enabled capabilities. The result is a deployment that an agency security team can test and document before approving broader use. Using AWS GovCloud (US) and following this guide do not, by themselves, authorize your workload. Your organization remains responsible for reviewing the selected model, AWS services, Region, endpoint, workstation controls, repositories, credentials, and data flows against its system security plan and authorization process. Solution overview You can use the ChatGPT desktop app in two ways: Work for larger tasks that need planning, research, files, and a finished result. Codex for technical work such as editing code, running tests, and reviewing pull requests. The ChatGPT desktop app runs on an organization-managed computer through the desktop app or CLI. It uses the configured AWS credentials to securely send requests to the Amazon Bedrock Mantle endpoint in us-gov-west-1 . Because this setup uses AWS directly, ChatGPT workspace rules and user roles don’t control it. The main security controls are the computer’s policies and the AWS identity and permissions being used. Walkthrough The configuration has three main steps: set up authentication, set up the ChatGPT desktop app configuration files, and then launch, initialize, and verify the deployment. Prerequisites Before setting up the ChatGPT desktop app with AWS GovCloud (US), make sure your version of the ChatGPT desktop app supports Amazon Bedrock in AWS GovCloud (US). You need an approved AWS GovCloud (US) account, an IAM identity and approved credentials, access to the approved model, AWS Region, and endpoint, and permission to use them. You also need to set up the requirements.toml and config.toml files. Step 1: Set up authentication Select the approved AWS GovCloud (US) account and IAM identity or role with access to the approved model in us-gov-west-1 . Obtain credentials through your organization’s approved mechanism. This walkthrough uses the named profile codex-il5 . Keep credentials, bearer tokens, session tokens, and other secrets out of TOML files. Protect the profile configuration, credential source, SSO token cache, and any credential helper from ChatGPT desktop app task writes, while allowing approved authentication tools to maintain and refresh credentials. The ChatGPT desktop app supports two Amazon Bedrock authentication pathways: an Amazon Bedrock API key or the AWS SDK credential chain . AWS SSO through AWS IAM Identity Center is supported within the credential-chain pathway. The app first checks for AWS_BEARER_TOKEN_BEDROCK in its environment. For desktop use, this variable can be supplied through %USERPROFILE%\.codex\.env on Windows or ~/.codex/.env on Linux and macOS. When present, the bearer token takes precedence over profile-based authentication. If no bearer token is available, the app falls back to the standard AWS SDK credential chain. The chain can read AWS credentials from ~/.aws/credentials and related profile settings from ~/.aws/config . On Windows, the corresponding default paths are %USERPROFILE%\.aws\credentials and %USERPROFILE%\.aws\config . The chain also supports SSO profiles. For SSO, it uses the profile settings in the AWS config file and the cached SSO session to obtain temporary role credentials. These credentials don’t need to be manually stored in the AWS credentials file. See OpenAI’s Bedrock authentication documentation and the AWS IAM Identity Center credential provider documentation . Step 2: Set up ChatGPT desktop app configuration files You must create two ChatGPT desktop app configuration files: config.toml and requirements.toml . Important: the configuration files need to be set up before the application is launched. The following table shows the file locations. Operating system User config.toml Admin requirements.toml Windows %USERPROFILE%\.codex\config.toml %ProgramData%\OpenAI\Codex\requirements.toml Linux ~/.codex/config.toml /etc/codex/requirements.toml macOS ~/.codex/config.toml /etc/codex/requirements.toml Start from the requirements.toml file. requirements.toml is an administrator-controlled rules file. It sets security limits that users can’t override, for example, restricting which permission levels, tools, or settings the ChatGPT desktop app is allowed to use. Use the following baseline for the supported AWS GovCloud (US) Amazon Bedrock deployment. The [windows] section applies only to Windows, and sandbox_private_desktop must be supported by the approved runtime. allowed_login_methods = ["api"] allowed_sandbox_modes = ["read-only", "workspace-write"] allowed_approvals_reviewers = ["user"] allowed_approval_policies = [ { granular = { sandbox_approval = false, rules = true, mcp_elicitations = false, request_permissions = false, skill_approval = true } }, ] allowed_web_search_modes = ["disabled", "cached"] allow_browser_and_computer_use = false allow_appshots = false allow_remote_control = false allow_login_shell = false allow_managed_hooks_only = true check_for_update_on_startup = false mcp_servers = {} [feedback] enabled = false [features] network_proxy = true in_app_chat = false in_app_dictation = false in_app_browser = false browser_use = false browser_use_external = false browser_use_full_cdp_access = false computer_use = false in_app_updates = false image_generation = false memories = false chronicle = false external_agent_memory_import = false guardian_approval = false guardianv2 = false guardian_ext = false apps = false enable_mcp_apps = false plugins = false remote_plugin = false plugin_sharing = false recommended_plugins = false skill_mcp_dependency_install = false skill_search = false workspace_dependencies = false hooks = false standalone_web_search = false [experimental_network] enabled = true managed_allowed_domains_only = true domains = {} unix_sockets = {} allow_upstream_proxy = false dangerously_allow_non_loopback_proxy = false dangerously_allow_all_unix_sockets = false allow_local_binding = false [application.network] enabled = true [applica