The #1 mistake people make the week Codex in ChatGPT desktop app for Linux is now in preview drops: they install the package, stay in default Chat, and treat the window like chatgpt.com with a prettier frame. Then they wonder why local repos, diffs, and agent runs feel worse than the CLI they already had.
Wrong approach is starting from the chat box. Correct approach is starting from mode + folder + permissions – then talking.
Why the browser and CLI still leave a hole
Linux devs weren’t blocked before August 11, 2026. Codex CLI and the IDE extension already ran here. The browser covered everyday ChatGPT. The desktop preview adds one native workspace: Chat, Work, and Codex beside local files, projects, and browser workflows.
Think of the browser as a phone call and the desktop app as a shared desk. Same person on the line either way – but only the desk holds your open folders, parallel tasks, and review surface without tab chaos.
| Path | Strength | Weak spot on Linux right now |
|---|---|---|
| Browser ChatGPT | Zero install, cloud Work | No native local-agent workspace |
| Codex CLI | Scripts, CI, tight repo loops | Weak multi-project dashboard |
| Desktop preview | Chat + Work + Codex + files in one UI | No native Computer Use yet; Wayland still rough |
Linux was one of the most-requested desktop platforms, per The New Stack interview with OpenAI. Same piece flags the hard gap for this preview: native Computer Use outside the in-app browser does not ship yet, so Appshots, Record & Replay, and voice flows that drive other desktop apps stay on macOS/Windows for now.
Install Codex in the ChatGPT desktop app for Linux
Official support (as of the Linux app docs, August 2026 preview) is desktop Ubuntu 24.04/26.04 LTS, Debian 13, and Fedora 43/44, on x64 and ARM64, via .deb / .rpm. Other distros may boot; they aren’t validated.
Check arch first:
uname -m
# x86_64 → x64 package
# aarch64 / arm64 → ARM64 package
Ubuntu or Debian
- Grab the matching .deb from the docs table (amd64 or arm64 under
persistent.oaistatic.com/codex-app-prod/linux/deb/latest/). - Install from the download directory:
cd ~/Downloads
sudo apt install ./chatgpt_amd64.deb
# ARM64: ./chatgpt_arm64.deb
Fedora
cd ~/Downloads
sudo dnf install ./chatgpt.x86_64.rpm
# ARM64: ./chatgpt.aarch64.rpm
Launch with chatgpt or the app menu, then sign in. The package wires OpenAI’s signed repo. Later bumps are normal upgrades:
sudo apt install --only-upgrade chatgpt
# or: sudo dnf upgrade --refresh chatgpt
Work and Codex use your existing ChatGPT plan – Free, Go ($8/mo), Plus ($20/mo), Pro (from $100/mo), Business, Edu, or Enterprise – and share agent usage. Prices as listed on the pricing page at preview time; recheck before you budget seat cost.
Recommended first-run flow (mode before message)
Help Center path is blunt (Work and Codex): top-left picks ChatGPT or Codex; under ChatGPT, toggle Chat vs Work. Codex keeps its own history. Don’t wait for the model to guess you wanted a coding agent.
- Top-left → Codex.
- New chat (Quick chat only for throwaways).
- Open the local folder or git repo you want touched – narrowest path that still works.
- State outcome + constraints + review bar (“diff only in
src/“, “no force-push”, “run tests before done”). - Stay in-thread for edits; open a second Codex chat for a parallel agent instead of derailing the first.
Pro tip: If you live in the terminal, keep CLI for scripted loops and use the desktop app as the review/coordination layer – not a full CLI replacement. That’s how OpenAI framed the Linux build at launch.
Switch back to ChatGPT → Work when the job is a PRD, spreadsheet, or long research deliverable rather than repo surgery. Same account, different tool surface.
Real-world example: unstick a flaky test suite
Scenario: small Python service, two intermittent tests, you want a branch-local fix proposal – not a drive-by rewrite of the whole tree.
# After Codex is open on ~/code/billing-api
Goal: identify why test_invoice_retry fails intermittently.
Constraints:
- only modify tests/ and the retry helper under src/billing/
- no dependency major bumps
- run: pytest -q tests/test_invoice_retry.py
Deliverable: short root-cause note + patch + test output
Healthy session looks like this: reads stay inside that tree, commands wait for your OK, diffs reject piece by piece, artifacts reopen without scroll archaeology. Need a GTK settings click-through? Wrong preview – stay on terminal + in-app browser.
Gotchas the launch posts skim past
- Wayland defaults: Docs mark native Wayland experimental; the app prefers XWayland when available. Force native with
chatgpt --ozone-platform=waylandafter a full quit. Floating windows, focus, and shortcuts can still feel soft. - IME on Fcitx5: Fedora/KDE reports (Japanese and Korean) need
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-imeon the.desktopExec line. - CLI ↔ desktop projects: Codex CLI projects on the same box often never show in the desktop project list. CLI threads land as standalone chats; manual “Create project” can stay empty. Open the folder fresh inside the app.
- Distro FOMO: Arch/Nix and friends aren’t on the official matrix. Community repacks exist – treat them as unofficial and keep backups tight.
- Voice docs conflict: Press quotes say Linux includes Voice; Help Center copy still frames Work/Codex Voice as macOS/Windows. Trust the binary after mic permission prompts, not either page alone.
Preview means sharp edges. That’s normal. The community thread under OpenAI’s Linux post is already stacking IME, scaling, and project-sync friction in real time – skim it before you file a duplicate report.
FAQ
Is Codex free inside the Linux desktop app?
Yes on Free/Go/Plus/Pro and the team plans – no separate Linux SKU. Free/Go are tighter; Plus/Pro buy more headroom. Shared Work+Codex limits still apply.
Can ChatGPT control GIMP or LibreOffice on Linux yet?
No. Computer Use isn’t in the Linux preview. In-app browser workflows still work; native desktop-app control doesn’t.
I installed on Ubuntu 22.04 / Arch – why is everyone else on 24.04+?
OpenAI only lists Ubuntu 24.04/26.04, Debian 13, and Fedora 43/44. A .deb might still unpack on 22.04. That doesn’t put you on the support matrix. One broken Electron upgrade later and you’re stuck with an unsigned community rebuild, broad $HOME access still granted, and no official rollback path. Use a supported base – or isolate the experiment and keep filesystem scope tiny.
Next action: download the matching .deb or .rpm from the official Linux install page, open Codex (not Chat), point it at one small repo, and run a single constrained task before you widen permissions.