app/chrome-extension.md +172 −0 added
1# Codex Chrome extension
2
3The Codex Chrome extension lets Codex use Chrome for browser tasks that need
4your signed-in browser state. Use it when Codex needs to read or act on sites
5such as LinkedIn, Salesforce, Gmail, or internal tools.
6
7For local development servers, file-backed previews, and public pages that do
8not require sign-in, use the [in-app browser](https://developers.openai.com/codex/app/browser) first. The
9in-app browser keeps preview and verification work inside Codex without using
10your Chrome profile.
11
12Codex can also switch between tools as a task requires, using plugins when a
13dedicated integration is available, Chrome when it needs logged-in browser
14context, and the in-app browser for localhost.
15
16<div className="not-prose my-4">
17 <Alert
18 client:load
19 color="warning"
20 variant="soft"
21 description="Treat page content as untrusted context, and review the website before allowing Codex to continue."
22 />
23</div>
24
25## Set up Chrome from Plugins
26
27Set up the extension from Codex:
28
291. Open Codex and go to **Plugins**.
302. Add the **Chrome** plugin.
313. Follow the setup flow. It guides you through installing the [Codex Chrome
32 extension](https://chromewebstore.google.com/detail/codex/hehggadaopoacecdllhhajmbjkdcmajg)
33 and approving Chrome's permission prompts.
344. Open Chrome and confirm the Codex extension shows **Connected**.
35
36After the plugin setup is complete, start a new Codex thread. Codex can suggest
37Chrome when a task needs a signed-in website. You can also invoke it directly in
38a prompt:
39
40```text
41@Chrome open Salesforce and update the account from these call notes.
42```
43
44If Chrome isn't already open, Codex can open it. Chrome browser tasks run in
45Chrome tab groups so the work for a thread stays grouped together.
46
47## Control website access
48
49By default, Codex asks before it interacts with each new website. Codex bases
50the prompt on the website host, such as `example.com`.
51
52When Codex asks to use a website, you can choose the option that matches the
53task and your risk tolerance:
54
55- Allow the website for the current chat.
56- Always allow the host so Codex can use that website again without asking.
57- Decline the website.
58
59### Manage the allowlist and blocklist
60
61In Computer Use settings, you can manage an allowlist and blocklist for
62domains. The allowlist contains domains Codex can use without asking again. The
63blocklist contains domains Codex shouldn't use.
64
65Removing a domain from the allowlist means Codex asks again before using it.
66Removing a domain from the blocklist means Codex can ask again instead of
67treating the domain as blocked.
68
69#### Always allow browser content <ElevatedRiskBadge class="ml-2" />
70
71If you turn on always allow browser content, Codex no longer asks for
72confirmation before using websites.
73
74#### Browser history <ElevatedRiskBadge class="ml-2" />
75
76Browser history can include sensitive telemetry, internal URLs, search terms,
77and activity from Chrome sessions on signed-in devices. If you allow Codex to
78access browser history, relevant history entries can become part of the context
79Codex uses for the task. Malicious or misleading page content can increase the
80risk that Codex copies this data somewhere unintended.
81
82Codex asks when it wants to use browser history. Codex scopes history access to
83the request, and history doesn't have an always-allow option.
84
85## Data and security
86
87### Chrome extension permissions
88
89Chrome asks you to accept extension permissions when you install the extension.
90The permission prompt may include:
91
92- Access the page debugger
93- Read and change all your data on all websites
94- Read and change your browsing history on all your signed-in devices
95- Display notifications
96- Read and change your bookmarks
97- Manage your downloads
98- Communicate with cooperating native applications
99- View and manage your tab groups
100
101These Chrome permissions make the extension capable of operating browser
102workflows. Codex still uses its own confirmations, settings, allowlists, and
103blocklists before using websites or browser history during a task.
104
105### Memories
106
107Browser use follows your Codex Memories setting. If Memories is on, Codex can
108use relevant saved memories while working in Chrome. If Memories is off, browser
109use doesn't use memories.
110
111### What OpenAI stores from browsing
112
113OpenAI doesn't store a separate complete record of your Chrome actions from the
114extension. OpenAI stores browser activity only when it becomes part of the Codex
115context, such as text Codex reads from a page, screenshots, tool calls,
116summaries, messages, or other content included in the thread.
117
118Your ChatGPT and Codex data controls apply to content processed in context.
119Avoid sending secrets or highly sensitive data through browser tasks unless
120they're required and you are present to review each prompt.
121
122## Troubleshooting
123
124If Codex can't connect to Chrome, first confirm the website Codex is trying to
125access isn't in the blocklist in Settings. If the website isn't blocked, work
126through these checks:
127
1281. Open the Codex extension from the Chrome toolbar or Chrome's extensions
129 menu. Make sure it shows **Connected**. If it shows disconnected or mentions
130 a missing native host, remove and re-add the Chrome plugin from **Plugins**
131 in Codex, then follow the setup flow again.
1322. In Codex, open **Plugins** and confirm that the Chrome plugin is on. If the
133 plugin is off, turn it on and try the task again.
1343. Make sure you are using the same Chrome profile where the Codex extension is
135 installed. If you use more than one Chrome profile, install and enable the
136 extension in the active profile.
1374. Start a new Codex thread and try the Chrome task again. This can clear a
138 thread-specific connection state.
1395. Restart Chrome and Codex, then try again. If the extension still doesn't
140 connect, uninstall the Codex Chrome extension, remove and re-add the Chrome
141 plugin from **Plugins**, and follow the setup flow again.
1426. If the extension shows **Connected** but Codex still can't use Chrome, run
143 `/feedback` in the Codex app and include the thread ID when you contact
144 support.
145
146<CodexScreenshot
147 alt="Codex Chrome extension showing connected status"
148 lightSrc="/images/codex/app/chrome-connected-light.png"
149 darkSrc="/images/codex/app/chrome-connected-dark.png"
150 maxHeight="300px"
151 class="mt-4"
152/>
153
154### Upload Files
155
156If a Chrome task needs to upload a file from your computer, allow the Codex
157extension to access file URLs in Chrome:
158
1591. In Chrome, open the extensions icon in the toolbar, then click **Manage
160 Extensions**.
1612. On the Codex extension card, click **Details**.
1623. Turn on **Allow access to file URLs**.
163
164After you change the setting, start the Chrome task again.
165
166<CodexScreenshot
167 alt="Chrome extension settings showing Allow access to file URLs enabled for Codex"
168 lightSrc="/images/codex/app/chrome-file-url-access-light.webp"
169 darkSrc="/images/codex/app/chrome-file-url-access-dark.webp"
170 maxHeight="420px"
171 class="mt-4"
172/>