Codex CodexFoundations

Codex app, CLI, IDE and cloud: choose your workbench

Choose a Codex surface based on where the project lives and how you want to inspect the work. Desktop supports visual project and review workflows, the CLI fits terminal work and scripts, the IDE extension stays beside your editor, and cloud tasks use a configured remote environment. Files and permissions do not automatically transfer between them.

Overview

I would choose a Codex interface the same way I choose a meeting room: by what needs to be in the room. The repository, tools, network and reviewer matter more than the furniture.

The recurring source of confusion is invisible context. A task that worked on your laptop can fail in the cloud because the source file, dependency or private service never moved with it.

Separate interface from execution environment

Separate interface from execution environment

The interface is where you describe the task and inspect progress. The execution environment is where files, commands and tools are available. Keeping those concepts separate explains many apparent inconsistencies between clients.

A desktop workflow can involve local project work, while a cloud task uses a configured remote environment. A terminal can also submit work to a cloud environment through supported commands. The window you type into does not by itself tell you where the work runs.

For the fictional Cedar Metrics reporting task, list the dataset, repository, Python dependency and output destination. Then ask which environment contains each item. This small inventory is more useful than a feature comparison that ignores the actual task.

TipBefore starting, answer: where will this command execute and where will its output live?

Use desktop for a visible project workflow

Use desktop for a visible project workflow

The desktop experience supports local projects and developer-oriented review workflows. When a project is a Git repository, the review pane helps inspect changes and provide focused feedback. This can be useful when you want a visible connection between the task, files and diff.

The review pane reflects repository state, including changes made by you or other tools. It should not be read as a private ledger of only the agent’s edits. Check the selected review scope before deciding which changes belong to the current task.

I would choose desktop for a small website project when navigating files and reviewing the resulting diff visually helps the owner stay involved. The interface is useful because it makes inspection easier, not because it removes the need to understand the change.

Choose the workbench that fits where the project runs and how you want to inspect the result. Desktop: Projects and visual review; CLI: Terminal work and scripts; IDE extension: Assistant beside your editor; Cloud: Configured remote execution
Choose the workbench that fits where the project runs and how you want to inspect the result. Open diagram

TipUse the correct repository and review scope before staging or reverting anything.

Use the CLI for the terminal loop

Use the CLI for the terminal loop

The CLI starts from a project directory and can inspect files, edit code and run available commands. It fits work where the terminal already contains the relevant tools. Interactive commands such as /status, /permissions and /review help you inspect the session and changes.

For repeated programmatic work, codex exec offers a non-interactive route. That is useful for a controlled script or external scheduler, but it moves responsibility for invocation, logs and failures into the surrounding system. A terminal command is not automatically a managed recurring service.

I would use the CLI for a campaign-data validator whose checks already run from a shell. The same commands that establish correctness for a human can be available to the agent, making the completion evidence straightforward to compare.

TipStart from the intended project directory instead of relying on a remembered folder from an earlier session.

Use the IDE extension near the code

Use the IDE extension near the code

The IDE extension keeps the assistant close to the open project and editor. This is useful when you want to inspect relevant files while discussing a change, then review the result in the same development workspace.

Feature support differs from other clients. In particular, current documentation says the IDE extension does not support plugin packages, even though supported skills and MCP connections provide other customization routes. Do not assume a directory installation in another surface appears as an equivalent IDE feature.

For an existing codebase, I would choose the IDE when the human reviewer already works there. That reduces the effort of checking a claim against the implementation. The editor remains a workbench; it does not make a broad, ambiguous request more precise.

TipCheck the open workspace and client support before diagnosing a missing capability as a prompt problem.

Prepare cloud work as its own environment

Prepare cloud work as its own environment

Cloud tasks use a configured environment with the relevant repository and setup. Dependencies, access and network policy need to be available there. Your local uncommitted file, shell configuration or private browser session should not be assumed to exist remotely.

For Cedar Metrics, commit or otherwise supply the intended source version through the supported workflow, configure the required setup and verify the test command in that environment. Keep secrets in the appropriate supported configuration rather than embedding them in repository files or instructions.

A useful first cloud task is a read-only repository explanation or a small test run. It reveals missing dependencies and access before you delegate a larger change. Treat environment readiness as something to prove, not an invisible prerequisite somebody else probably handled.

TipRecord the repository revision and test command used by the cloud run.

Move the task with a handoff note

Move the task with a handoff note

When moving between surfaces, preserve the objective, source revision, relevant files, checks already run and unresolved questions. A concise handoff note is more useful than assuming the next environment inherits every detail of the previous conversation.

For a report fix, the note might say which formula was wrong, which fixture establishes the answer and which files changed. Include the expected output and any environment limitation. This gives the next run a concrete starting point and helps the human reviewer detect drift.

Be careful when applying remote changes over local work. Inspect your repository state first and compare the incoming diff. The same file may have changed in both places, and accepting a patch blindly can discard useful work or create an inconsistent combination.

TipUse a clean checkpoint or a clearly understood working tree before applying a remote result.

Compare surfaces with one small task

Compare surfaces with one small task

You can evaluate two surfaces using the same fictional dataset and report request. Keep the expected totals and output format fixed, then compare setup effort, visibility into changes and how easily you can verify the result.

Do not judge only by how quickly the first answer arrives. A workflow that saves a minute during generation but makes review difficult may be slower overall. The useful measure is time to a result you can confidently inspect and use.

I would choose one primary surface for the first few tasks. Constantly switching clients makes it harder to learn which behavior comes from the model, environment or interface. Add another surface when it solves a specific friction.

Illustrative example
Using the supplied fictional campaigns.json, create a draft report with source totals and aggregate CPL. Preserve the input, show the calculation method and identify any check you could not run in this environment.
$

TipCompare the whole task, including review and environment setup.

Where surface choices go wrong

Where surface choices go wrong

The common mistake is assuming a shared account means shared local context. Another is following CLI instructions inside an app-only workflow or expecting desktop-only capabilities from a cloud task. Name the surface and execution environment when asking for help.

A third mistake is selecting cloud execution before confirming how results return to the working repository. Decide how you will inspect, apply and verify the change. The task is not complete merely because a remote run produced a plausible summary.

Choose the workbench that makes the next result easy to check. You can change it later without changing the business objective. Where do the files, tools and reviewer for your next task already live?

How to set it up

How to set it up

Inventory the task

List the source files, repository revision, commands, connected services and output destination.

Choose the primary surface

Match desktop, CLI, IDE or cloud to those requirements and your review workflow.

Verify the environment

Confirm folder or repository access, dependencies and the effective permissions.

Run the comparison exercise

Use the fictional report request and inspect both the artifact and the evidence that checks ran.

FAQ

Frequently asked questions

Is the CLI a different model?

It is a different interface. Model choice and execution environment are separate decisions.

Does cloud Codex inherit local files?

No. Supply the repository and inputs through the supported cloud environment workflow.

Can the CLI submit cloud tasks?

The official CLI documentation describes codex cloud for supported cloud workflows.

Does the IDE extension support plugins?

Current documentation says it does not support plugin packages. Supported skills and MCP connections are separate capabilities.

Does the app diff show only agent edits?

No. The review pane reflects repository changes, including edits from you and other tools.

Which surface should a beginner choose?

Choose the one that makes the files and result easiest for you to inspect; the CLI exercise provides a concrete route.

What should a handoff contain?

Objective, revision, relevant files, checks completed, expected output and unresolved limitations.

Should I switch surfaces when a task fails?

First identify whether the failure comes from missing inputs, permissions, dependencies or the implementation. A new interface may preserve the same problem.

Sources

Sources & further reading

ChatGPT and Codex change quickly. This page was last reviewed September 22, 2026; verify time-sensitive details against the official docs above before relying on them.

Get the AI-for-GTM playbook in your inbox

New ChatGPT and Codex guides, use cases, and prompts every couple of weeks.

Subscribe →