app/chrome-extension.md +171 −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 or connecting the
32 Chrome extension and approving Chrome's permission prompts.
334. Open Chrome and confirm the Codex extension shows **Connected**.
34
35After the plugin setup is complete, start a new Codex thread. Codex can suggest
36Chrome when a task needs a signed-in website. You can also invoke it directly in
37a prompt:
38
39```text
40@Chrome open Salesforce and update the account from these call notes.
41```
42
43If Chrome isn't already open, Codex can open it. Chrome browser tasks run in
44Chrome tab groups so the work for a thread stays grouped together.
45
46## Control website access
47
48By default, Codex asks before it interacts with each new website. Codex bases
49the prompt on the website host, such as `example.com`.
50
51When Codex asks to use a website, you can choose the option that matches the
52task and your risk tolerance:
53
54- Allow the website for the current chat.
55- Always allow the host so Codex can use that website again without asking.
56- Decline the website.
57
58### Manage the allowlist and blocklist
59
60In Computer Use settings, you can manage an allowlist and blocklist for
61domains. The allowlist contains domains Codex can use without asking again. The
62blocklist contains domains Codex shouldn't use.
63
64Removing a domain from the allowlist means Codex asks again before using it.
65Removing a domain from the blocklist means Codex can ask again instead of
66treating the domain as blocked.
67
68#### Always allow browser content <ElevatedRiskBadge class="ml-2" />
69
70If you turn on always allow browser content, Codex no longer asks for
71confirmation before using websites.
72
73#### Browser history <ElevatedRiskBadge class="ml-2" />
74
75Browser history can include sensitive telemetry, internal URLs, search terms,
76and activity from Chrome sessions on signed-in devices. If you allow Codex to
77access browser history, relevant history entries can become part of the context
78Codex uses for the task. Malicious or misleading page content can increase the
79risk that Codex copies this data somewhere unintended.
80
81Codex asks when it wants to use browser history. Codex scopes history access to
82the request, and history doesn't have an always-allow option.
83
84## Data and security
85
86### Chrome extension permissions
87
88Chrome asks you to accept extension permissions when you install the extension.
89The permission prompt may include:
90
91- Access the page debugger
92- Read and change all your data on all websites
93- Read and change your browsing history on all your signed-in devices
94- Display notifications
95- Read and change your bookmarks
96- Manage your downloads
97- Communicate with cooperating native applications
98- View and manage your tab groups
99
100These Chrome permissions make the extension capable of operating browser
101workflows. Codex still uses its own confirmations, settings, allowlists, and
102blocklists before using websites or browser history during a task.
103
104### Memories
105
106Browser use follows your Codex Memories setting. If Memories is on, Codex can
107use relevant saved memories while working in Chrome. If Memories is off, browser
108use doesn't use memories.
109
110### What OpenAI stores from browsing
111
112OpenAI doesn't store a separate complete record of your Chrome actions from the
113extension. OpenAI stores browser activity only when it becomes part of the Codex
114context, such as text Codex reads from a page, screenshots, tool calls,
115summaries, messages, or other content included in the thread.
116
117Your ChatGPT and Codex data controls apply to content processed in context.
118Avoid sending secrets or highly sensitive data through browser tasks unless
119they're required and you are present to review each prompt.
120
121## Troubleshooting
122
123If Codex can't connect to Chrome, first confirm the website Codex is trying to
124access isn't in the blocklist in Settings. If the website isn't blocked, work
125through these checks:
126
1271. Open the Codex extension from the Chrome toolbar or Chrome's extensions
128 menu. Make sure it shows **Connected**. If it shows disconnected or mentions
129 a missing native host, remove and re-add the Chrome plugin from **Plugins**
130 in Codex, then follow the setup flow again.
1312. In Codex, open **Plugins** and confirm that the Chrome plugin is on. If the
132 plugin is off, turn it on and try the task again.
1333. Make sure you are using the same Chrome profile where the Codex extension is
134 installed. If you use more than one Chrome profile, install and enable the
135 extension in the active profile.
1364. Start a new Codex thread and try the Chrome task again. This can clear a
137 thread-specific connection state.
1385. Restart Chrome and Codex, then try again. If the extension still doesn't
139 connect, uninstall the Codex Chrome extension, remove and re-add the Chrome
140 plugin from **Plugins**, and follow the setup flow again.
1416. If the extension shows **Connected** but Codex still can't use Chrome, run
142 `/feedback` in the Codex app and include the thread ID when you contact
143 support.
144
145<CodexScreenshot
146 alt="Codex Chrome extension showing connected status"
147 lightSrc="/images/codex/app/chrome-connected-light.png"
148 darkSrc="/images/codex/app/chrome-connected-dark.png"
149 maxHeight="300px"
150 class="mt-4"
151/>
152
153### Upload Files
154
155If a Chrome task needs to upload a file from your computer, allow the Codex
156extension to access file URLs in Chrome:
157
1581. In Chrome, open the extensions icon in the toolbar, then click **Manage
159 Extensions**.
1602. On the Codex extension card, click **Details**.
1613. Turn on **Allow access to file URLs**.
162
163After you change the setting, start the Chrome task again.
164
165<CodexScreenshot
166 alt="Chrome extension settings showing Allow access to file URLs enabled for Codex"
167 lightSrc="/images/codex/app/chrome-file-url-access-light.webp"
168 darkSrc="/images/codex/app/chrome-file-url-access-dark.webp"
169 maxHeight="420px"
170 class="mt-4"
171/>