{"id":502220,"date":"2026-11-09T05:59:56","date_gmt":"2026-11-09T02:59:56","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=502220"},"modified":"2026-11-09T05:59:56","modified_gmt":"2026-11-09T02:59:56","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=502220","title":{"rendered":"Codex on Your Phone: Remote Setup, Test Results, and Code Review"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>Codex on Your Phone: Remote Setup, Test Results, and Code Review<\/h2>\n<p>Codex can run commands on your development computer while you control the task from the ChatGPT app on your phone. The project files, installed tools, and running application stay on the computer. The phone gives you a way to send instructions, answer approval requests, and review the result.<\/p>\n<p>I tested this workflow with an image-generator project: inspect the code, choose a small improvement, plan it, run the implementation, and check the tests. Reviewing the interface needed an extra step. The app ran at localhost on my computer, so I asked Codex to capture screenshots I could open on my phone.<\/p>\n<p>This walkthrough covers pairing, execution settings, a focused implementation task, and the checks to make before a commit. The example uses my iPhone; interface labels and availability can differ by app version and workspace.<\/p>\n<p><a href=\"https:\/\/youtu.be\/CUIkNCYl2lI\" rel=\"noopener nofollow\">Watch the screen walkthrough: How to Use Codex on Your Phone<\/a>.<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6af1372cc6fbcbdb4fbd1de5\" data-style=\"\" id=\"6af1372cc6fbcbdb4fbd1de5\" width=\"\" data-habr-games=\"\"><\/div>\n<h3>1. Prepare the host and mobile client<\/h3>\n<p>You\u2019ll need:<\/p>\n<ul>\n<li>\n<p>A ChatGPT account and workspace with Codex access.<\/p>\n<\/li>\n<li>\n<p>The latest ChatGPT desktop app on your computer.<\/p>\n<\/li>\n<li>\n<p>The latest ChatGPT mobile app, signed in to the same account and workspace.<\/p>\n<\/li>\n<li>\n<p>A computer that stays awake, online, and running the desktop app.<\/p>\n<\/li>\n<\/ul>\n<p>Get the apps from the <a href=\"https:\/\/chatgpt.com\/download\/\" rel=\"noopener nofollow\">official ChatGPT download page<\/a>. Open Codex on your computer and make sure your project is available there before pairing.<\/p>\n<p>OpenAI\u2019s current remote setup guide lists Mac and Windows hosts, with iOS and Android clients depending on rollout. The phone steps here show my iPhone. Some app versions still call the feature <strong>Remote<\/strong> instead of <strong>Codex<\/strong>. A workspace admin may also need to enable Remote Control. Check the <a href=\"https:\/\/learn.chatgpt.com\/docs\/remote-connections#before-you-set-up-remote\" rel=\"noopener nofollow\">supported setup and requirements<\/a> if your menus differ.<\/p>\n<p>You start this setup in the desktop app. Installing only the Codex CLI or IDE extension won\u2019t give you the pairing screen.<\/p>\n<h3>2. Pair the devices<\/h3>\n<p>On your computer:<\/p>\n<ol>\n<li>\n<p>Open <strong>Settings<\/strong>, then <strong>Connections<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Select <strong>Control this PC<\/strong> or <strong>Control this Mac<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Enable <strong>Allow connections<\/strong> if it is off.<\/p>\n<\/li>\n<li>\n<p>Click <strong>Add<\/strong>. Your version may show <strong>Set up<\/strong> instead.<\/p>\n<\/li>\n<li>\n<p>Complete any verification and open the pairing QR code.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/89\/46\/59\/894659a6606ec895edd9c017b1b54a01.png\" alt=\"Desktop phone-pairing dialog with the entire QR code covered by a solid mask\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/89\/46\/59\/894659a6606ec895edd9c017b1b54a01.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/89\/46\/59\/894659a6606ec895edd9c017b1b54a01.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Desktop phone-pairing dialog with the entire QR code covered by a solid mask<\/figcaption><\/div>\n<\/figure>\n<p><em>Scan your own code. The code in my recording is hidden.<\/em><\/p>\n<p>On your phone, scan the code with the camera. Open the ChatGPT link, check the account and workspace, and approve the connection. Complete any passkey, SSO, or multi-factor authentication prompt it shows.<\/p>\n<p>Each pairing connects a particular device to a particular computer. Repeat setup if you want another phone to control another host. You can manage paired devices in the computer\u2019s <strong>Connections<\/strong> settings. <a href=\"https:\/\/learn.chatgpt.com\/docs\/remote-connections#set-up-remote\" rel=\"noopener nofollow\">Official pairing instructions<\/a><\/p>\n<p>Enable <strong>Keep this PC awake<\/strong>, or the equivalent option, if available. Leave the desktop app open and your computer connected to power. A sleeping or offline computer can\u2019t do the work you send it.<\/p>\n<p>Now open <strong>Codex<\/strong> in the ChatGPT mobile sidebar. Your connected computer should appear. In the video, I also use Face ID or the device passcode to protect access on my phone.<\/p>\n<h3>3. Select the execution environment<\/h3>\n<p>My mobile home screen has <strong>All<\/strong>, <strong>Cloud<\/strong>, and a filter for my computer, followed by saved chats.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/27\/24\/34\/272434e6081b37befc1593a8e6b93a37.png\" alt=\"Codex mobile home with All and Cloud filters visible and the computer name and private chats masked\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/27\/24\/34\/272434e6081b37befc1593a8e6b93a37.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/27\/24\/34\/272434e6081b37befc1593a8e6b93a37.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Codex mobile home with All and Cloud filters visible and the computer name and private chats masked<\/figcaption><\/div>\n<\/figure>\n<p><em>Choose your connected computer for this walkthrough.<\/em><\/p>\n<p>Select your computer to use its project files and installed tools. <strong>Cloud<\/strong> runs work in a separate cloud environment; it doesn\u2019t automatically have the files sitting on your laptop. For that setup, see my <a href=\"https:\/\/proflead.dev\/posts\/codex-cloud-tutorial\/\" rel=\"noopener nofollow\">Codex Cloud tutorial<\/a>. Both options are available through the <a href=\"https:\/\/learn.chatgpt.com\/docs\/mobile\" rel=\"noopener nofollow\">Codex mobile workflow<\/a>, subject to account and workspace availability.<\/p>\n<p>Start a new chat and select a project. You may also see <strong>Don\u2019t work in a project<\/strong>, but selecting the folder you want to change makes this tutorial easier to follow.<\/p>\n<p>Before sending the first prompt, check the host and project folder. The selected host supplies the files and tools for this task. A dependency installed on another computer won\u2019t help this session. If the project has several services, check its startup instructions before asking Codex to run it.<\/p>\n<h3>4. Set permissions and inspect the repository<\/h3>\n<p>Open the model controls to choose a model and reasoning effort. In my recording, I use <strong>High<\/strong>. You can begin with the available default; matching my exact model isn\u2019t necessary.<\/p>\n<p>Next, open the approval settings. My version shows:<\/p>\n<ul>\n<li>\n<p><strong>Ask for approval:<\/strong> asks before editing external files or using the internet.<\/p>\n<\/li>\n<li>\n<p><strong>Approve for me:<\/strong> reviews actions automatically and asks about those detected as potentially unsafe.<\/p>\n<\/li>\n<li>\n<p><strong>Full access:<\/strong> gives broader computer access and is marked as elevated risk.<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/20\/99\/18\/20991881079232fd6812e949d6c38bf2.png\" alt=\"Codex approval choices, with Approve for me selected and Full access marked elevated risk\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/20\/99\/18\/20991881079232fd6812e949d6c38bf2.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/20\/99\/18\/20991881079232fd6812e949d6c38bf2.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Codex approval choices, with Approve for me selected and Full access marked elevated risk<\/figcaption><\/div>\n<\/figure>\n<p><em>The approval options shown in my demo. Host and workspace policies still apply.<\/em><\/p>\n<p>I use <strong>Approve for me<\/strong> in the video. Choose the narrowest access that works for your task, and read a requested command before approving it. Automatic review doesn\u2019t make every action harmless.<\/p>\n<p>My first prompt is simple:<\/p>\n<pre><code>Tell me about this repository.<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper\"><\/span><\/a><\/div><\/pre>\n<p>For your first attempt, you can make the request more specific:<\/p>\n<pre><code>Explain what this project does, how to run it, and how to test it.Read its instructions first. Don't change any files yet.<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/57\/8a\/97\/578a976f84fc7484d6e071c7021cd419.png\" alt=\"Tell me about this repository prompt followed by Codex searching for AGENTS.md instructions\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/57\/8a\/97\/578a976f84fc7484d6e071c7021cd419.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/57\/8a\/97\/578a976f84fc7484d6e071c7021cd419.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Tell me about this repository prompt followed by Codex searching for AGENTS.md instructions<\/figcaption><\/div>\n<\/figure>\n<p><em>Start by understanding the project before asking for changes.<\/em><\/p>\n<p>You can follow progress and expand activity entries to inspect commands. In my recording, Codex looks for <code>AGENTS.md<\/code>, the file where a project can keep instructions for coding agents. It then summarizes the code and how to run it.<\/p>\n<h3>5. Define the scope and completion criteria<\/h3>\n<p>My next question is:<\/p>\n<pre><code>How can we improve this repository?<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>Read the suggestions and choose one manageable change. Asking for every improvement at once makes the result much harder to review on a phone.<\/p>\n<p>In the demo, I ask for a plan with an achievable goal. Codex proposes shared input checks and faster loading of saved image-generation history. The plan includes a goal, scope, checklist, and <strong>Done when<\/strong> conditions.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/54\/88\/a6\/5488a6e8e614c000bd7e3d800ca67d8a.png\" alt=\"Codex plan showing a focused goal, scope, and implementation checklist\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/54\/88\/a6\/5488a6e8e614c000bd7e3d800ca67d8a.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/54\/88\/a6\/5488a6e8e614c000bd7e3d800ca67d8a.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Codex plan showing a focused goal, scope, and implementation checklist<\/figcaption><\/div>\n<\/figure>\n<p><em>A small scope gives you something concrete to check afterward.<\/em><\/p>\n<p>Here\u2019s a reusable version of that request:<\/p>\n<pre><code>Pick one small improvement from your suggestions.Create a plan with a goal, scope, checks, and a clear \"Done when.\"Explain what you will leave out. Don't implement it yet.<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>You can also enable <strong>Plan mode<\/strong> from the plus menu. <strong>Pursue goal<\/strong> is useful for an outcome that needs several rounds of work. A written checklist alone doesn\u2019t mean you\u2019ve started a persistent goal. My <a href=\"https:\/\/proflead.dev\/posts\/openai-codex-goal-command-guide\/\" rel=\"noopener nofollow\">Codex goal guide<\/a> explains that workflow.<\/p>\n<p>Once the plan looks right, send:<\/p>\n<pre><code>Implement the plan. Run the relevant tests and tell mewhat passed, what failed, and what still needs a manual check.<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>While Codex works, use <strong>Queue<\/strong> for a follow-up that can wait. Use <strong>Steer<\/strong> when you need to correct the current direction. For example, \u201cKeep this change inside the settings page\u201d belongs in the current work, not after a large rewrite. OpenAI explains these controls in its <a href=\"https:\/\/developers.openai.com\/blog\/mastering-codex-remote-for-engineering\" rel=\"noopener nofollow\">remote engineering guide<\/a>.<\/p>\n<h3>6. Verify behavior and inspect the interface<\/h3>\n<p>In my demo, Codex reports that all <strong>11 offline tests pass<\/strong>. It also says browser UI verification is still outstanding. That second sentence is just as useful as the test count.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/28\/c3\/c1\/28c3c1c5a4cd80758e2ed9ed8bf836e5.png\" alt=\"Codex reports 11 offline tests passing and explicitly says browser UI verification remains outstanding\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/28\/c3\/c1\/28c3c1c5a4cd80758e2ed9ed8bf836e5.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/28\/c3\/c1\/28c3c1c5a4cd80758e2ed9ed8bf836e5.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Codex reports 11 offline tests passing and explicitly says browser UI verification remains outstanding<\/figcaption><\/div>\n<\/figure>\n<p><em>Passing tests and checking the interface are separate parts of the review.<\/em><\/p>\n<p>I ask Codex to start the project. It runs on the computer at <code>localhost<\/code>, using port <code>8765<\/code> in this example.<\/p>\n<p>Opening that address on the phone doesn\u2019t open the computer\u2019s app. <strong>Localhost means the device opening the address.<\/strong> On your phone, it points back to your phone.<\/p>\n<p>My workaround is to ask Codex for screenshots. Try:<\/p>\n<pre><code>Open the running app on the computer and take screenshotsat desktop and mobile widths. Show them here so I can reviewthe layout. Check the main interaction and report any errors.<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>In the recording, Codex uses a headless browser, a browser running without a visible window, to capture the app. The images appear in the chat, where I can open and zoom into them.<\/p>\n<p>Check whether buttons fit, text is readable, and the layout works on a narrow screen. Screenshots show appearance; ask for interaction checks too. If Codex lacks browser tools on your host, it needs that setup before it can capture the app.<\/p>\n<h3>7. Review the diff and save a commit<\/h3>\n<p>Open <strong>Changes<\/strong> to inspect the diff: the lines added, removed, or edited. Use <strong>Files<\/strong> when you need more context. Ask Codex to explain anything you don\u2019t understand before committing.<\/p>\n<p>If you expected an existing repository, first check that you selected its correct folder. For a new project, open a terminal in that project\u2019s root and run:<\/p>\n<pre><code class=\"bash\">git initgit status<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>Before the first commit, check <code>.gitignore<\/code> so secrets such as <code>.env<\/code> files, dependencies, and generated output stay out of Git. Then ask Codex:<\/p>\n<pre><code>Review the diff and Git status. Commit only the changes forthis task with a short, clear message. Exclude secrets andunrelated files. Don't push yet. Show me the commit hash.<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>A commit saves a checkpoint in your local Git history. Pushing sends commits to a remote repository such as GitHub. Deploying publishes the application. Treat them as separate steps, so you know exactly what you\u2019ve approved.<\/p>\n<h3>Keep the task context manageable<\/h3>\n<p>Type <code>\/<\/code> in the composer to see the commands your version supports. The most useful starting points are <code>\/plan<\/code> for planning, <code>\/review<\/code> for checking changes, <code>\/side<\/code> for a side question, and <code>\/status<\/code> for session details. Availability depends on your app, account, and host. <a href=\"https:\/\/developers.openai.com\/blog\/mastering-codex-remote-for-engineering#9-the-hidden-command-palette\" rel=\"noopener nofollow\">Mobile command reference<\/a><\/p>\n<p>Attach a screenshot when describing a visual problem. \u201cThis button overlaps the title\u201d is much easier to act on when Codex can see it.<\/p>\n<p>Rename chats around the task, pin active work, and archive finished chats from the three-dot menu. A name like \u201cFix mobile menu\u201d is easier to find later than \u201cNew chat.\u201d<\/p>\n<h3>If the connection doesn\u2019t work<\/h3>\n<p>If your computer is missing, check that the desktop app is running, connections are enabled, and both devices use the same account <strong>and workspace<\/strong>. Update both apps and pair again if needed.<\/p>\n<p>If a session disconnects, check the computer\u2019s power and network first. Keeping the phone awake won\u2019t help if the host has gone to sleep.<\/p>\n<p>If you can\u2019t find Codex or Remote, check feature availability and your workspace\u2019s Remote Control settings. Signing out can also turn Remote Control off; enable it again after signing in. OpenAI keeps the <a href=\"https:\/\/learn.chatgpt.com\/docs\/remote-connections#troubleshooting\" rel=\"noopener nofollow\">connection troubleshooting steps<\/a> in its setup guide.<\/p>\n<p>For a first attempt, use one small change with an observable result: an input check, a layout fix, or a regression test. Review the plan, inspect the command output, and check the diff before committing. That gives you a complete remote workflow you can repeat without guessing what ran on the host.<\/p>\n<p>Adapted from my <a href=\"https:\/\/proflead.dev\/posts\/how-to-use-codex-on-your-phone\/\" rel=\"noopener nofollow\">original guide on proflead.dev<\/a>.<\/p>\n<p>Cheers, proflead \ud83d\ude09<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1105256\/\">https:\/\/habr.com\/ru\/articles\/1105256\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Codex on Your Phone: Remote Setup, Test Results, and Code ReviewCodex can run commands on your development computer while you control the task from the ChatGPT app on your phone. The project files, installed tools, and running application stay on the computer. The phone gives you a way to send instructions, answer approval requests, and review the result.I tested this workflow with an image-generator project: inspect the code, choose a small improvement, plan it, run the implementation, and check the tests. Reviewing the interface needed an extra step. The app ran at localhost on my computer, so I asked Codex to capture screenshots I could open on my phone.This walkthrough covers pairing, execution settings, a focused implementation task, and the checks to make before a commit. The example uses my iPhone; interface labels and availability can differ by app version and workspace.Watch the screen walkthrough: How to Use Codex on Your Phone.1. Prepare the host and mobile clientYou\u2019ll need:A ChatGPT account and workspace with Codex access.The latest ChatGPT desktop app on your computer.The latest ChatGPT mobile app, signed in to the same account and workspace.A computer that stays awake, online, and running the desktop app.Get the apps from the official ChatGPT download page. Open Codex on your computer and make sure your project is available there before pairing.OpenAI\u2019s current remote setup guide lists Mac and Windows hosts, with iOS and Android clients depending on rollout. The phone steps here show my iPhone. Some app versions still call the feature Remote instead of Codex. A workspace admin may also need to enable Remote Control. Check the supported setup and requirements if your menus differ.You start this setup in the desktop app. Installing only the Codex CLI or IDE extension won\u2019t give you the pairing screen.2. Pair the devicesOn your computer:Open Settings, then Connections.Select Control this PC or Control this Mac.Enable Allow connections if it is off.Click Add. Your version may show Set up instead.Complete any verification and open the pairing QR code.Desktop phone-pairing dialog with the entire QR code covered by a solid maskScan your own code. The code in my recording is hidden.On your phone, scan the code with the camera. Open the ChatGPT link, check the account and workspace, and approve the connection. Complete any passkey, SSO, or multi-factor authentication prompt it shows.Each pairing connects a particular device to a particular computer. Repeat setup if you want another phone to control another host. You can manage paired devices in the computer\u2019s Connections settings. Official pairing instructionsEnable Keep this PC awake, or the equivalent option, if available. Leave the desktop app open and your computer connected to power. A sleeping or offline computer can\u2019t do the work you send it.Now open Codex in the ChatGPT mobile sidebar. Your connected computer should appear. In the video, I also use Face ID or the device passcode to protect access on my phone.3. Select the execution environmentMy mobile home screen has All, Cloud, and a filter for my computer, followed by saved chats.Codex mobile home with All and Cloud filters visible and the computer name and private chats maskedChoose your connected computer for this walkthrough.Select your computer to use its project files and installed tools. Cloud runs work in a separate cloud environment; it doesn\u2019t automatically have the files sitting on your laptop. For that setup, see my Codex Cloud tutorial. Both options are available through the Codex mobile workflow, subject to account and workspace availability.Start a new chat and select a project. You may also see Don\u2019t work in a project, but selecting the folder you want to change makes this tutorial easier to follow.Before sending the first prompt, check the host and project folder. The selected host supplies the files and tools for this task. A dependency installed on another computer won\u2019t help this session. If the project has several services, check its startup instructions before asking Codex to run it.4. Set permissions and inspect the repositoryOpen the model controls to choose a model and reasoning effort. In my recording, I use High. You can begin with the available default; matching my exact model isn\u2019t necessary.Next, open the approval settings. My version shows:Ask for approval: asks before editing external files or using the internet.Approve for me: reviews actions automatically and asks about those detected as potentially unsafe.Full access: gives broader computer access and is marked as elevated risk.Codex approval choices, with Approve for me selected and Full access marked elevated riskThe approval options shown in my demo. Host and workspace policies still apply.I use Approve for me in the video. Choose the narrowest access that works for your task, and read a requested command before approving it. Automatic review doesn\u2019t make every action harmless.My first prompt is simple:Tell me about this repository.For your first attempt, you can make the request more specific:Explain what this project does, how to run it, and how to test it.Read its instructions first. Don&#8217;t change any files yet.Tell me about this repository prompt followed by Codex searching for AGENTS.md instructionsStart by understanding the project before asking for changes.You can follow progress and expand activity entries to inspect commands. In my recording, Codex looks for AGENTS.md, the file where a project can keep instructions for coding agents. It then summarizes the code and how to run it.5. Define the scope and completion criteriaMy next question is:How can we improve this repository?Read the suggestions and choose one manageable change. Asking for every improvement at once makes the result much harder to review on a phone.In the demo, I ask for a plan with an achievable goal. Codex proposes shared input checks and faster loading of saved image-generation history. The plan includes a goal, scope, checklist, and Done when conditions.Codex plan showing a focused goal, scope, and implementation checklistA small scope gives you something concrete to check afterward.Here\u2019s a reusable version of that request:Pick one small improvement from your suggestions.Create a plan with a goal, scope, checks, and a clear &#171;Done when.&#187;Explain what you will leave out. Don&#8217;t implement it yet.You can also enable Plan mode from the plus menu. Pursue goal is useful for an outcome that needs several rounds of work. A written checklist alone doesn\u2019t mean you\u2019ve started a persistent goal. My Codex goal guide explains that workflow.Once the plan looks right, send:Implement the plan. Run the relevant tests and tell mewhat passed, what failed, and what still needs a manual check.While Codex works, use Queue for a follow-up that can wait. Use Steer when you need to correct the current direction. For example, \u201cKeep this change inside the settings page\u201d belongs in the current work, not after a large rewrite. OpenAI explains these controls in its remote engineering guide.6. Verify behavior and inspect the interfaceIn my demo, Codex reports that all 11 offline tests pass. It also says browser UI verification is still outstanding. That second sentence is just as useful as the test count.Codex reports 11 offline tests passing and explicitly says browser UI verification remains outstandingPassing tests and checking the interface are separate parts of the review.I ask Codex to start the project. It runs on the computer at localhost, using port 8765 in this example.Opening that address on the phone doesn\u2019t open the computer\u2019s app. Localhost means the device opening the address. On your phone, it points back to your phone.My workaround is to ask Codex for screenshots. Try:Open the running app on the computer and take screenshotsat desktop and mobile widths. Show them here so I can reviewthe layout. Check the main interaction and report any errors.In the recording, Codex uses a headless browser, a browser running without a visible window, to capture the app. The images appear in the chat, where I can open and zoom into them.Check whether buttons fit, text is readable, and the layout works on a narrow screen. Screenshots show appearance; ask for interaction checks too. If Codex lacks browser tools on your host, it needs that setup before it can capture the app.7. Review the diff and save a commitOpen Changes to inspect the diff: the lines added, removed, or edited. Use Files when you need more context. Ask Codex to explain anything you don\u2019t understand before committing.If you expected an existing repository, first check that you selected its correct folder. For a new project, open a terminal in that project\u2019s root and run:git initgit statusBefore the first commit, check .gitignore so secrets such as .env files, dependencies, and generated output stay out of Git. Then ask Codex:Review the diff and Git status. Commit only the changes forthis task with a short, clear message. Exclude secrets andunrelated files. Don&#8217;t push yet. Show me the commit hash.A commit saves a checkpoint in your local Git history. Pushing sends commits to a remote repository such as GitHub. Deploying publishes the application. Treat them as separate steps, so you know exactly what you\u2019ve approved.Keep the task context manageableType \/ in the composer to see the commands your version supports. The most useful starting points are \/plan for planning, \/review for checking changes, \/side for a side question, and \/status for session details. Availability depends on your app, account, and host. Mobile command referenceAttach a screenshot when describing a visual problem. \u201cThis button overlaps the title\u201d is much easier to act on when Codex can see it.Rename chats around the task, pin active work, and archive finished chats from the three-dot menu. A name like \u201cFix mobile menu\u201d is easier to find later than \u201cNew chat.\u201dIf the connection doesn\u2019t workIf your computer is missing, check that&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-502220","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/502220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=502220"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/502220\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=502220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=502220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=502220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}