ilysenko / codex-desktop-linux
Run OpenAI Codex Desktop on Linux - automated installer
description README.md
ChatGPT Community for Linux
codex-desktop is an unofficial, community-maintained distribution of
OpenAI's official Linux ChatGPT desktop application. It verifies and
repackages the signed upstream Linux payload, adds disabled-by-default Linux
features, and produces deb, RPM, pacman, AppImage, and Nix outputs.
The custom application appears in desktop menus as ChatGPT Community and
uses an icon marked with a blue C. Its package and command are
codex-desktop, and its installation root is /opt/codex-desktop, so it is
easy to distinguish from OpenAI's separate ChatGPT package.
OpenAI's signed Linux .deb is the only upstream source. The official
Electron runtime, native modules, bundled codex and rg, code-mode host,
plugins, libraries, locales, and Owl metadata are reused directly. A clean
build applies only required compatibility patches to resources/app.asar and
preserves the official ELF runtime and bundled tools byte-for-byte. Optional
Linux features remain disabled unless explicitly selected.
Install · Uninstall · Features · Updates · Build · Troubleshooting · Docs · Discord
Before contributing, read CONTRIBUTING.md. Maintainers and coding agents should also read AGENTS.md.
Install
Clone the repository before building a native package or AppImage:
git clone https://github.com/ilysenko/codex-desktop-linux.git
cd codex-desktop-linux
| Platform | Recommended command | Result |
|---|---|---|
| Debian, Ubuntu, Pop!_OS, Mint, Elementary | make bootstrap-native | Builds and installs a .deb |
| Raspberry Pi 5, 64-bit OS | make bootstrap-native | Builds the official arm64 payload; see Pi notes |
| Fedora | make bootstrap-native | Builds and installs an RPM |
| openSUSE | make bootstrap-native | Builds and installs an RPM |
| Arch, Manjaro, EndeavourOS | make bootstrap-native | Builds and installs a pacman package |
| Gentoo | make bootstrap-native | Builds a local ebuild and installs through Portage; supports ui-tweaks, no updater |
| NixOS or another Nix system | nix run github:ilysenko/codex-desktop-linux | Builds and runs the flake output; see Nix |
| Atomic desktops or another distribution | make build-app && make appimage | Produces a local AppImage without the native updater |
Gentoo's application merge ignores EMERGE_DEFAULT_OPTS to install through the
generated ebuild rather than reuse a binary package. Global Portage settings are unchanged.
Gentoo has a phase-aware dependency and package-resource framework for audited
features. ui-tweaks is supported and remains disabled by default; other
repository features require their own support declarations. See the
Gentoo feature contract.
Gentoo's local ebuild path has been tested on OpenRC; a Gentoo systemd
environment has not been tested. See Gentoo validation scope.
The recommended native installation is:
make bootstrap-native
This installs build dependencies, resolves the current package through
OpenAI's signed stable APT metadata, builds codex-app/, creates the native
package for the detected distribution, and installs the newest artifact from
dist/.
If the dependencies are already installed, use:
make install-native
For the graphical guided installer, run the standalone repository entrypoint:
./install-community
(make guided-install invokes the same entrypoint.) The installer is part of
the repository setup experience, not an optional Linux feature. On desktops
with GTK4/PyGObject it walks through feature selection, installation options,
review, and build/install progress with a live log. Required features are
selected automatically; conflicting choices are disabled with the reason kept
visible.
The graphical installer does not modify feature implementations or feature
settings. It updates only the enabled-feature list and its own installer
preferences in the gitignored linux-features/features.json; any existing
feature settings are preserved unchanged. Native output always keeps the
repository identity codex-desktop under /opt/codex-desktop, whether or not
the automatic updater is included.
To configure features without installing yet, keep using:
make setup-native
make install-native
make setup-native only writes the local feature selection. It does not build
or install the application. See Native setup for the
guided flow, non-interactive settings, updater selection, and cleanup.
Use an already downloaded official package
Normally the build resolves amd64 or arm64 from the signed stable index.
You can instead provide a local package that you already trust:
UPSTREAM_DEB=/path/to/chatgpt_<version>_<arch>.deb make build-app
The local package is still checked for package name, architecture, control
metadata, payload completeness, and SHA-256 recording. Because signed
repository discovery is skipped, the caller is responsible for its origin.
Old .dmg, DMG=, and CODEX_DMG_* inputs are intentionally unsupported.
Before you install
- Only the latest signed stable OpenAI Linux package is supported, on
amd64andarm64. - Build tools require Node.js 20 or newer, npm, Python 3, curl,
gpgv,dpkg-deb, tar, make, and a C/C++ toolchain. Rust is used for the updater and enabled native feature helpers.make bootstrap-nativeinstalls or guides you through these requirements. - The official
chatgptand customcodex-desktoppackages may coexist. By default they intentionally share the upstreamCodexuser profile and should not run at the same time. The optionalcommunity-profile-isolationfeature gives Community separate Codex and Electron state and pins its bundled CLI so users who need isolated runtimes can avoid that shared-profile boundary. - AppImage never adds
--no-sandboxautomatically. If your distribution disables unprivileged user namespaces, use the native package or follow the sandbox guidance in Troubleshooting.
Anonymous daily usage count
To help the community decide whether maintaining this distribution is useful,
the launcher sends at most one anonymous usage event per UTC day to the
public GoatCounter dashboard. The event
contains only the fixed path /app-launch. GoatCounter derives an aggregate
country from the network request; no application activity, account or machine
identifier, version, architecture, package format, language, screen size, or
referrer is sent. Every installation sends the same fixed, non-identifying
User-Agent so GoatCounter does not discard the request as a bot.
The request runs silently in the background. A missing curl, a blocked
r
More in Uncategorized

openclaw / openclaw
OpenClaw is an open-source personal AI assistant that runs on your own devices and connects to the communication platforms you already use. It provides a fast, always-available assistant that can respond, listen, speak, and perform tasks across desktop and mobile devices.

obra / superpowers
An agentic skills framework & software development methodology that works.

mattpocock / skills
Created by renowned TypeScript educator Matt Pocock, Skills is a collection of practical, reusable workflows for AI coding agents such as Claude Code and Codex. The skills help developers plan, test, debug, and build real-world software while keeping control of the engineering process

affaan-m / everything-claude-code
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.