Skip to content

ChatGPT Desktop Codex Mastery

ChatGPT desktop’s Codex mode consolidates multi-project orchestration, parallel threads, and IDE sync into a single control center, letting each project keep its own sandbox, worktree state, and thread history. Advanced capabilities include Local, Worktree, and Cloud mode selection, a built-in Git workflow, skills triggered with a dollar-sign prefix, permission profiles, a plugin marketplace, and AWS Bedrock authentication for enterprise model routing.

Codex now runs as a mode in the ChatGPT desktop app. “Codex App” in dated release notes below refers to the former standalone branding; current workflows use ChatGPT desktop.

What mastering ChatGPT desktop’s Codex mode gets you

Section titled “What mastering ChatGPT desktop’s Codex mode gets you”
  • A workflow for managing multiple projects and parallel threads in a single ChatGPT desktop window in Codex mode
  • Techniques for leveraging IDE sync, voice dictation, and inline diff review to cut review time in half
  • A strategy for combining Local, Worktree, and Cloud modes in the same session
  • Production-ready patterns for skills integration and MCP server configuration in ChatGPT desktop’s Codex mode

The Codex-mode sidebar in the ChatGPT desktop app is your control center. Each project maps to a directory on disk, and you can switch between them instantly. The key insight is that each project maintains its own sandbox, worktree state, and thread history.

  1. Add your projects. Click the ”+” in the sidebar and point to each codebase directory. For a monorepo, split distinct packages into separate projects so the sandbox only includes relevant files.

  2. Launch parallel threads. Within a single project, open multiple threads — one in Local mode for quick edits, one in Worktree mode for an experimental feature, one in Cloud mode for a heavy refactor that should not block your machine.

  3. Monitor the inbox. Automation results and completed cloud tasks surface in the Triage section. Filter to “unread” to focus on what needs your attention.

IDE Sync: Bridging ChatGPT Desktop and Editor

Section titled “IDE Sync: Bridging ChatGPT Desktop and Editor”

When the Codex IDE Extension is installed in VS Code or Cursor and both the ChatGPT desktop app and IDE are pointed at the same project, they sync automatically. This gives you two superpowers:

Auto context — ChatGPT desktop’s Codex mode tracks which files you have open in your editor. When you ask “What’s this file about?” in Codex mode, it knows you mean the file you are looking at in VS Code.

Bidirectional thread visibility — Threads started in ChatGPT desktop’s Codex mode appear in the IDE Extension sidebar and vice versa. You can start a heavy task in ChatGPT desktop, switch to the IDE to continue coding, and watch the thread progress without context-switching.

Every new thread in the ChatGPT desktop app in Codex mode asks you to pick a mode. Here is how to decide:

ModeUse WhenTrade-off
LocalQuick edits, debugging, exploring codeChanges happen directly in your working directory — risk of conflicts if multiple threads touch the same files
WorktreeFeature work, experiments, parallel tasksGit worktree isolation means no conflicts, but you need to sync or merge changes back
CloudHeavy refactors, tasks you want to delegate, mobile triageRuns remotely, needs a configured environment, cannot access local-only tools

ChatGPT desktop’s Codex mode includes a complete Git workflow: diff review, inline commenting, staging, committing, pushing, and PR creation. The diff pane shows a standard unified diff of your changes. You can:

  • Add inline comments that Codex will address in a follow-up turn
  • Stage or revert specific chunks or entire files
  • Commit, push, and open a PR without leaving ChatGPT desktop

For worktree threads, use “Create branch here” to turn a detached HEAD into a named branch, then push directly to your remote.

ChatGPT desktop’s Codex mode supports the same agent skills as the CLI and IDE Extension. Click “Skills” in the sidebar to browse available skills across your projects. To trigger a skill explicitly in a thread, prefix it with $:

$recent-code-bugfix

Combine skills with automations for recurring tasks. For example, a $dependency-audit skill paired with a weekly automation keeps your dependencies reviewed without manual effort.

ShortcutAction
Cmd + JToggle the integrated terminal
Cmd + KOpen the command palette
Ctrl + M (hold)Voice dictation
Ctrl + LClear the terminal

The integrated terminal is scoped to the current project or worktree. Use it to run tests, check git status, or execute any command without leaving ChatGPT desktop.

The April 30, 2026 release introduced permission profiles — named sandbox + filesystem policies you switch between per-task without rewriting config.toml. They sit on top of the two-layer security model (sandbox + approvals), so a single named profile captures a whole posture.

Built-ins carry a leading colon. Custom profiles you define drop it.

ProfileWhat it allowsTypical use
:read-onlyRead filesystem; no edits, no shell writesCode review, security audit
:workspaceRead + write inside the active workspace rootsDefault for most coding tasks
:danger-full-accessRemoves local sandbox restrictions — no approvalsThrowaway environments, CI runners
Terminal window
# Inside the TUI — switch posture mid-session
/permissions
# Load a config profile that pins a permission profile (per-invocation)
codex --profile review

Define custom profiles under [permissions.<name>] in config.toml, then set a default with the top-level default_permissions key. Prefer extending a built-in so baseline protections carry forward — a custom profile can extend :read-only or :workspace, but never :danger-full-access.

# config.toml — a review posture that extends :read-only
[permissions.review]
extends = ":read-only"
# Make it the default for this project
default_permissions = "review"

Recent CLI releases added a plugin system: a codex plugin command tree with a nested marketplace subcommand for managing the sources you install from. Marketplaces are added first, then you install plugins from a configured marketplace snapshot.

Terminal window
# Register a marketplace source
# Accepts owner/repo, owner/repo@ref, an HTTPS/SSH git URL, or a local dir
codex plugin marketplace add my-org/my-plugin
codex plugin marketplace add my-org/my-plugin@v2 # pin a ref inline...
codex plugin marketplace add my-org/my-plugin --ref v2 # ...or with the equivalent flag
codex plugin marketplace add ./local-plugin/ --sparse plugins/
# List configured marketplaces and refresh their snapshots
codex plugin marketplace list
codex plugin marketplace upgrade
# Install a plugin from a configured marketplace
codex plugin add openai-docs
codex plugin list
# Remove an installed plugin, or a marketplace source
codex plugin remove openai-docs
codex plugin marketplace remove my-org/my-plugin

Inside the TUI, /plugins opens the management panel with tabbed browsing, inline toggles, and one-click install/uninstall.

Codex CLI ships a built-in amazon-bedrock model provider (SigV4 signing, AWS credential chain). Point Codex at it with the top-level model_provider key, then configure the AWS profile and region under the provider’s [model_providers.amazon-bedrock.aws] table.

config.toml
model_provider = "amazon-bedrock"
[model_providers.amazon-bedrock.aws]
profile = "codex-bedrock" # a named profile in ~/.aws/credentials
region = "eu-central-1" # or your Bedrock region
  1. Bedrock API key — export AWS_BEARER_TOKEN_BEDROCK with your Bedrock API key. If it is set, Codex uses it first.
  2. AWS SDK credential chain — if no bearer token is present, Codex falls back to the standard SDK chain, which honors the named profile above (and env vars, instance roles, SSO, etc.).

Select a Bedrock-served model with /model gpt-5.6-sol (or whichever Bedrock model id your account exposes — ids look like openai.gpt-5.6-sol or openai.gpt-oss-120b). Combine with permission profiles to keep the blast radius small — a :read-only profile plus the Bedrock provider gives you a fully isolated review agent.

When ChatGPT desktop’s Codex mode breaks

Section titled “When ChatGPT desktop’s Codex mode breaks”
  • Worktree branch conflicts: Git only allows a branch to be checked out in one worktree at a time. If you create a branch on a worktree and try to check it out locally, Git will error. Use “Sync with local” instead of manually checking out the branch.
  • Disk space from worktrees: Each worktree copies repository files and may contain dependencies/build caches. ChatGPT desktop keeps the 15 most recent managed worktrees by default; adjust retention in Worktree settings.
  • IDE sync not working: Both the ChatGPT desktop app and IDE Extension must point at the same project root. Check that neither is pointing to a parent or child directory of the other.
  • Notifications not firing: Verify notification settings in ChatGPT desktop preferences. On macOS, also check System Settings > Notifications for the ChatGPT desktop app.

Where to go next after ChatGPT desktop mastery

Section titled “Where to go next after ChatGPT desktop mastery”