/ Ivan K.

Is vanilla ChatGPT finally the personal assistant we wanted?

I wanted a personal assistant I could give jobs to from my phone, with access to a real computer: a browser, signed-in accounts, local files, and a terminal. My approach is to leave a Mac running and use Remote Codex inside the ChatGPT mobile app.

This website came out of that experiment. We worked through the design, imported reading lists from Notion, found book covers, deployed to Cloudflare Pages, and connected the domain. A single task moved between code and websites that were already signed in.

Here is how I would configure a dedicated Mac for as much autonomy as the standard app allows. This is a recommended setup, rather than an inventory of every setting on my own machine. It uses the desktop app, its browser extension, and the phone app; the basic workflow doesn’t require a custom agent service.

Start with a computer that stays available

A dedicated Mac is a convenient choice because you can leave its apps and browser sessions ready for the assistant. Keep it connected to power and the internet, and keep the ChatGPT desktop app running. Set the app to open at login so it is easier to recover after a restart.

Use the same ChatGPT account and workspace on the Mac and phone. On the Mac, go to Settings Connections Control this Mac, enable remote access, and pair the phone using the QR code. Then enable Keep this Mac awake. The phone should show the connected host under Codex or Remote.

For a MacBook, leave the lid open with power connected, or use the supported closed-lid arrangement with an external display. Selecting Sleep still makes the host unavailable. Remote setup and host requirements.

ChatGPT on the phone
        │ Remote / Codex
        
ChatGPT on an always-on Mac
        ├── signed-in Chrome
        ├── approved desktop apps
        └── files and terminal

The settings I would choose

ControlChoice for this setup
Connections Control this MacEnabled; phone paired
Keep this Mac awakeOn
Computer UseEnabled, with macOS Screen Recording and Accessibility permissions granted
Locked useOn, where supported
Native app accessAlways allow for each app the assistant needs
ChromeExtension installed and connected in the intended profile
Website accessAllow for all sites, if accepting access to all websites in that profile
Chrome extension DetailsAllow access to file URLs, for local uploads
Task permissions below the composerFull access for maximum local autonomy
Personal instructionsShort, explicit instructions to finish and verify authorized work
MemoriesOn where available, for continuity across chats
NotificationsEnabled on the phone for results and requests for attention
Recurring workExplicit scheduled tasks on the local host

The broad permissions are a deliberate tradeoff: Full access gives local commands access beyond a project sandbox, and allowing all sites lets the assistant use the websites accessible in that Chrome profile. I would put the accounts and files I want it to work with on this host and keep that boundary understandable.

Enable native apps and Locked use

In Settings Computer Use, set up desktop access and grant the requested macOS permissions. When asked to use an app you want included in the setup, choose Always allow. Review those saved decisions in Computer Use settings.

Then enable Locked use. Without it, a task can reach an online Mac and still be unable to use its desktop after the screen locks. Locked use permits a temporary unlock for an active, trusted Computer Use task, while preserving the locked-screen protections.

Keep awake and Locked use solve different problems. Test both from the phone before relying on the host while away. Computer Use permissions and Locked use.

Use a persistent Chrome profile

Set up Chrome under Settings Computer Use. Install the extension through that flow and check that Chrome shows Manage afterward. Mention @Chrome in a task to select it.

For the least interruption, use Allow for all sites when that website-access choice is offered. You can review allowed and blocked domains using Manage next to Chrome. This is separate from permission to use native apps.

Sign in to the services you want the assistant to use in that same Chrome profile. We used existing sessions for Notion, Namecheap, and Cloudflare. This is much more practical than beginning every task with a login.

For local uploads, open Chrome’s extension manager, find the extension’s Details, and turn on Allow access to file URLs. This is easy to miss when the task needs to upload a file it just created. Browser setup and access controls.

Use Full access for local work

For this maximum-autonomy setup, select Full access in the permissions control below the composer. It removes the local filesystem and network sandbox restrictions and routine shell approval stops.

Approve for me is an alternative if you want to retain the workspace sandbox: eligible escalation requests go through automatic review instead of asking you. It can still reject an action. I would describe which mode a guide uses, because they produce different behavior.

Neither choice automatically grants access to every website or native app, and neither promises that sensitive actions or authentication will proceed unattended. Those controls remain separate. Full access, sandboxing, and automatic review.

Tell it to finish the job

Permissions alone don’t make a useful assistant. Give it standing instructions for how to work. In the app’s Personalization settings, edit the machine’s AGENTS.md. A starting point:

Complete authorized work end to end and verify the result.
Make reasonable reversible choices without interrupting me.
Recover from routine browser failures and continue.
Use Chrome and reuse existing signed-in sessions.
Prefer connected tools when they can do the task directly.
Use iCloud Passwords autofill; never ask me to paste passwords.
For authentication, explain whether I need the phone or the Mac.
Ask concise questions only when information is essential.
Do not send messages or make purchases without explicit authorization.
Keep private identity and account details out of published work.

These instructions explain how to use the access already granted. They don’t override the app’s approval rules.

Enable Memories where available if you want continuity across chats. Keep recurring procedures in instructions or reusable skills rather than depending entirely on remembered context. Personalization and memory settings.

Schedule the work that should happen without a prompt

An always-on computer is available to work. A schedule tells it when to start.

Once a workflow works in a normal task, ask ChatGPT to schedule it. Specify the host, the work, its cadence, what it may change, and what result you want. For example:

Every weekday at 08:00, use this Mac to check my website.
Check the homepage, Projects, Books, and HTTPS.
Report broken pages or images with the failing URLs.
Keep the report in this chat. Do not change DNS settings.

Use a follow-up in the same chat for an ongoing job, such as checking a deployment later. Use a standalone scheduled task when each run should begin from saved instructions. Local runs still need the host and app available. Review runs in Scheduled. Scheduled tasks.

Make interruptions reach the phone

Enable ChatGPT notifications on the phone and check the app’s notification preferences. A request for attention needs to reach you, rather than sit unseen on the host. Notification controls.

There will still be cases where a human has to intervene: expired sessions, passkeys, Touch ID, CAPTCHAs, or an action that requires confirmation. Keep saved credentials in the password manager. Expect some authentication to need the Mac even though you started the task from your phone.

For example: German bureaucracy

A job I would like to hand over is German bureaucracy. Find the right government portal, work out which login it wants, and get through a long form in German. The useful part is having an assistant that can read the instructions and operate the website while I answer questions from my phone.

With the relevant access and a working login, the assistant can navigate an unfamiliar portal, explain what it is asking for, fill fields using information I provide, and upload the required documents. It can keep track of missing information instead of guessing an answer just to get to the next screen.

I would give it a request like this:

Help me prepare this application on the official portal.
Read the instructions in German and explain what I need.
Use my existing login or saved credentials where supported.
Fill the form using the information and documents I provide.
Ask me about anything missing; do not invent answers.
Show me the completed application before submitting it.

Government logins are the catch. A portal may require an electronic ID, AusweisApp, a one-time code, or another identity check that I have to complete. Some steps may need me at the Mac. The assistant can take over the navigation and repetitive form work around those steps, then bring the completed application back for review and any required confirmation.

I haven’t tested this setup across German government portals yet. It is a useful next experiment: how much of an administrative chore can I finish from my phone while the Mac handles the website?

Test the whole path

Before leaving the Mac unattended, start a small job from the phone that uses a signed-in website, creates a local file, and uploads it somewhere you authorize. Lock the screen and try an approved native-app task. Schedule a simple follow-up and check that it runs and that you receive the result.

That catches the gaps between the settings: a connected browser in the wrong profile, uploads without file access, a host that sleeps, or native app control that fails after locking.

The setup I’m aiming for is simple to use from a phone: give it a concrete job, let it work on the Mac, and inspect the result. The initial configuration takes some attention. After that, I want the conversation to be about what needs doing.

Based on official documentation checked 20 October 2026. Feature availability and labels can vary by app version, account, and workspace policy. This is an approximation of an OpenClaw-style workflow, not a claim of feature parity.

Notes