Skip to main content
Published 11 May 2026 5 min read By Ashton

How to Install Codex Desktop on Linux

OpenAI does not ship an official Codex desktop app for Linux yet. Here is what the unofficial wrapper builds, what it changes, and when I would use the CLI instead.

The Problem

OpenAI’s official Codex app docs currently list desktop downloads for macOS and Windows, plus a “Get notified for Linux” link. The Codex CLI works on Linux, but the desktop app does not have an official Linux package yet.

That leaves two practical paths:

  • use the official CLI
  • use an unofficial desktop wrapper

If you only need Codex in a terminal, the CLI is the cleaner answer:

Terminal window
npm install -g @openai/codex
codex

If you specifically want the desktop app surface on Linux, the useful community project is:

ilysenko/codex-desktop-linux

If you are looking for the official macOS or Windows install paths instead:

What the Wrapper Does

codex-desktop-linux converts the upstream macOS Codex app into a Linux Electron app, then builds native Linux packages around it.

That matters because this is not an official OpenAI Linux build. It is a community-maintained packaging path for people who want the desktop UI before OpenAI ships a native Linux app.

The wrapper gives you:

  • the Codex desktop interface
  • project threads
  • native Linux packages
  • a managed Linux Node.js runtime
  • a local updater service for future package rebuilds
  • optional Linux Computer Use support

The tradeoff is trust. You are building and installing software from a community repository, so read the scripts before running them on a machine you care about.

Supported Linux Paths

The wrapper currently supports the common package families:

Distro familyPackage output
Debian, Ubuntu, Pop!_OS, Mint, Elementary.deb
Fedora.rpm
openSUSE.rpm
Arch, Manjaro, EndeavourOS.pkg.tar.zst
NixOS / Nixnix run

The README says X11 is supported and that the launcher targets Wayland with XWayland first, then falls through to Electron’s automatic Wayland handling.

How to Install It

The repository’s normal path is: clone, install build dependencies, build the app, build the native package, install it.

Terminal window
git clone https://github.com/ilysenko/codex-desktop-linux.git
cd codex-desktop-linux
bash scripts/install-deps.sh
make build-app
make package
make install

make package auto-detects the package format for supported distros. make install installs the newest package from dist/ using the distro’s package manager.

The generated app bundles a managed Linux Node.js runtime. You do not need to install a distro nodejs package just to run this wrapper, though normal developer setups with Node already installed are fine.

NixOS / Nix

For Nix users, the README gives a one-liner:

Terminal window
nix run github:ilysenko/codex-desktop-linux

If that fails with a hash mismatch immediately after an upstream Codex release, the README says to wait for the repository’s bot refresh and retry.

How It Works

The messy part is that the wrapper has to turn an app built for another desktop platform into something Linux can install and launch cleanly.

It does that by:

  • extracting the upstream Codex desktop app
  • patching it to run under Linux Electron
  • rebuilding native Node modules for Linux
  • creating native .deb, .rpm, or .pkg.tar.zst packages
  • installing a local codex-update-manager service for rebuilding future packages from newer upstream app releases

The Codex CLI is still required at runtime. On first launch, the app can install or update @openai/codex with its bundled npm, or you can manage the CLI yourself.

Optional Computer Use Support

The project also includes an opt-in Linux Computer Use backend. That part is separate from basic desktop app installation.

If you want it, expect extra desktop automation dependencies such as ydotool, /dev/uinput access, and a working XDG Desktop Portal on non-GNOME desktops. The README has the distro-specific commands and a doctor check for readiness.

If you only want the Codex desktop app for normal project work, you can skip Computer Use.

Troubleshooting Notes

If the install fails on a hardened Linux setup, check whether /tmp is mounted with noexec.

The README recommends setting a user-writable temp and cache directory before running the install steps:

Terminal window
mkdir -p ~/tmp/codex-work ~/tmp/codex-cache
export TMPDIR=~/tmp/codex-work
export XDG_CACHE_HOME=~/tmp/codex-cache

For launcher issues, the useful logs are:

Terminal window
~/.cache/codex-desktop/launcher.log
~/.local/state/codex-update-manager/service.log

For updater status:

Terminal window
systemctl --user status codex-update-manager.service
codex-update-manager status --json

When I Would Not Use This

I would not use the wrapper if I needed an official OpenAI-supported Linux desktop package. That does not exist yet.

I also would not use it on a production workstation without reading what the install scripts do. The project builds and installs local packages, uses distro package managers, and includes an updater service. That is normal for this kind of wrapper, but it is still privileged software installation.

For the lowest-risk Linux path, use the official CLI:

Terminal window
npm install -g @openai/codex
codex

Sources Checked

Published
11 May 2026
Read Time
5 min read
Author
Ashton