This document collects the detailed generated-output and runtime-state notes that agents need without keeping them in the main quick-start.
codex-app/Generated Linux app directory. Treat as build output.codex-app-next/Side-by-side rebuild candidate fromscripts/rebuild-candidate.sh. Hidden sibling.codex-app.candidate-*directories are temporary transactional install state and are removed after success or rejection by default.codex-*-app/Alternate identity app directories, such ascodex-cua-lab-app/.dist/Native package and AppImage outputs.dist/appimage.AppDir/Generated AppImage staging tree.dist-next/rebuild/Rebuild candidate reports.target/Rust build output for all workspace crates.Codex.dmgCached upstream DMG.linux-features/features.jsonGitignored local opt-in feature config.linux-features/local/Gitignored user-local feature directory.codex-app/.codex-linux/linux-features-staged.jsonStaged declarative feature ownership manifest.~/.config/codex-update-manager/config.tomlRuntime updater config.~/.local/state/codex-update-manager/state.jsonUpdater state-machine persistence.~/.local/state/codex-update-manager/service.logUpdater service log.~/.cache/codex-update-manager/Downloaded DMGs, rebuild workspaces, staged package artifacts, and build logs.~/.cache/codex-desktop/launcher.logLauncher log for the default app identity.~/.local/state/codex-desktop/app.pidandwebview.pidLauncher liveness files.$XDG_RUNTIME_DIR/codex-desktop/launch-action.sockWarm-start handoff socket.
- DMG extraction can warn when
7zcannot materialize the/Applicationssymlink. This is acceptable if a.appbundle was extracted successfully. - The managed Node.js runtime is installed under
codex-app/resources/node-runtime/. Override only withCODEX_MANAGED_NODE_VERSION,CODEX_MANAGED_NODE_URL, andCODEX_MANAGED_NODE_SHA256; the SHA must be set when overriding version or URL. - GUI launchers often do not inherit shell
PATH. The generated launcher searches common Codex CLI andnvmlocations and respectsCODEX_CLI_PATH. - CLI preflight is launcher-scoped and normally best-effort. A detected npm CLI missing its required Linux optional dependency is the exception: the launcher performs one bounded synchronous repair and blocks Electron startup if that repair fails or times out, because the known-broken CLI cannot serve the app.
- ASAR patches are fail-soft unless intentionally marked required. Each patch should be idempotent and report warnings when upstream drift prevents a needle from matching.
- Patch reports are written for installs/rebuilds. Upstream-build CI fails only for required upstream patches that are missing or skipped.
- Linux Computer Use plugin registration is default-on platform port glue, but Computer Use UI enablement remains opt-in and must not bypass upstream server-side rollouts unrelated to local Linux support.
- The Linux Chrome integration stages the bundled Chrome plugin, native host, marketplace metadata, and browser profile/native-host diagnostics for Chrome, Brave, and Chromium. Do not fix only the user cache; patch staged bundled resources.
- The generated launcher starts the local webview server before Electron and
verifies the expected startup markers. See
docs/webview-server-evaluation.mdbefore changing the server model. - Warm-start handoff uses a Unix-domain socket under
$XDG_RUNTIME_DIRso second launches can send actions to the running app. - Native package install/removal hooks start, stop, disable, and reload the
systemd --userupdater service on a best-effort basis. - Failed privileged updater installs stay failed until a newer rebuild or an explicit retry path; avoid auto-retrying every reconcile cycle.
- Manual rollback uses the last-known-good package recorded in updater state and the same format-specific command layer as normal installs.
python3,7z,curl,unzip,tar,flock,make, andg++are required forinstall.sh.- Native package builders require their format-specific tools (
dpkg-deb,rpmbuild,makepkg/pacman tooling, orappimagetool). scripts/install-deps.shbootstraps common host dependencies. On apt-based systems,NODEJS_MAJOR=24 bash scripts/install-deps.shselects Node.js 24 instead of the default NodeSource major.- The packaged app still needs the Codex CLI at runtime, but launcher preflight attempts a best-effort install/update when possible.