Use Codex's built-in Appearance settings when:
- You only want different colors or fonts.
- You do not need a background image.
- You want the lower-risk path.
- You do not want to run third-party scripts or a debugging connection.
Codex Dream Skin is an independent, public-source third-party project for the Codex desktop app. It can add an image and deeper visual styling by opening a local debugging connection and changing the running interface. It does not replace the official app package, but it is still an unofficial method. Review the license that applies to each file or directory before you copy, modify, or redistribute anything from the upstream repository.
CodexSkin.im does not host or repackage Dream Skin. These instructions were reviewed against the upstream files at commit 26c6c410e0e0bfc053356474620e17f934f483fc. Download that reviewed archive if you want the files that match this guide.
Source checked: Fei-Away/Codex-Dream-Skin commit 26c6c410e0e0bfc053356474620e17f934f483fc, July 17, 2026. The macOS package version in this source lock is 1.1.2.
Verification status: Both platform paths are source-reviewed. CodexSkin.im has not independently reproduced them on a real Mac or Windows device.
CodexSkin.im is not affiliated with or endorsed by OpenAI or the Codex Dream Skin project.
The latest upstream repository may contain changes made after July 17, 2026. CodexSkin.im has not reviewed those newer changes. Do not assume the latest files match these steps, limits, or safety notes.
The checked macOS package includes an image customizer. The checked Windows package applies its bundled skin and does not provide the same custom-image path.
Source reviewed at upstream commit 26c6c410… on July 17, 2026.Cmd+, on macOS or Ctrl+, on Windows.This path stays inside the app's own controls. It does not add a background image.
Use the reviewed archive for commit 26c6c410e0e0bfc053356474620e17f934f483fc. CodexSkin.im does not mirror or repackage it.
The separate latest-upstream link is not covered by this review.~/.codex/config.toml..command file from the upstream folder.26c6c410e0e0bfc053356474620e17f934f483fc.Codex-Dream-Skin-26c6c410e0e0bfc053356474620e17f934f483fc folder.macos folder.Install Codex Dream Skin.command.The engine is copied to ~/.codex/codex-dream-skin-studio. State, logs, user images, and the theme backup are stored under ~/Library/Application Support/CodexDreamSkinStudio.
Codex Dream Skin.command — StartCodex Dream Skin - Customize.command — CustomizeCodex Dream Skin - Verify.command — VerifyCodex Dream Skin - Restore.command — RestoreDo not move files into the Codex app bundle. The upstream installer is designed to leave .app, app.asar, and the official code signature unchanged.
Open Codex Dream Skin.command for the bundled look. For your own image, open Codex Dream Skin - Customize.command, choose a PNG, JPEG, HEIC, TIFF, or WebP image, enter a theme name, allow a restart when asked, and wait for the ready message.
The download is a reviewable ZIP, not a direct installer. Extract it, then choose background.webp through the upstream Customize launcher. The checked upstream does not document one-click import of the recipe ZIP, and browser preview-only adjustments may not all carry into the applied result.
Codex Dream Skin - Verify.command.Codex Dream Skin Verification.png if the launcher creates it.
A screenshot can confirm appearance. Only the live app can confirm navigation, menus, typing, scrolling, and Diff readability.
CodexSkin.im has not performed this check on a real Mac. A successful result on your device is specific to your Codex version and date.
Install Codex Dream Skin.command from the new macos folder.A reinstall is not proof of compatibility. Restore if verification fails.
Codex Dream Skin - Restore.command.The launcher stops the recorded injector, removes the live skin, closes the saved debugging session, restores saved appearance values, and restarts Codex. It is designed to stop rather than act on an unverified process.
Current limitation: The checked Windows package does not provide the macOS user-image customizer. These steps apply the upstream bundled skin. Do not present a CodexSkin image recipe as a supported Windows import.
PATH.node --versionContinue only with version 22 or newer. If Node is missing, install a current release from the official Node.js website, reopen PowerShell, and check again.
Download the reviewed commit archive linked at the top of this guide, extract it, and open PowerShell.
cd "$env:USERPROFILE\Downloads\Codex-Dream-Skin-26c6c410e0e0bfc053356474620e17f934f483fc"Save unfinished input and quit every Codex window. The installer refuses to update config.toml while a matching Codex process is active.
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\windows\scripts\install-dream-skin.ps1"The installer validates the Microsoft Store package and Node.js, saves relevant appearance configuration, and creates Start/Restore shortcuts. State and logs are stored under %LOCALAPPDATA%\CodexDreamSkin. It does not take ownership of or replace files under WindowsApps.
Open the Codex Dream Skin Desktop shortcut, or run:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\windows\scripts\start-dream-skin.ps1" -PromptRestartSave unfinished input before approving a restart. Do not add -RestartExisting unless you intentionally authorize it. The default port is 9335; the checked script can scan for another free loopback port when no port is forced.
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\windows\scripts\verify-dream-skin.ps1" -ScreenshotPath "$env:USERPROFILE\Desktop\Codex Dream Skin Verification.png"A responsive suggestion-card count between two and four can be normal; do not fail verification on count alone.
The scripts discover the current registered Store package instead of blindly trusting an old path.
Open Codex Dream Skin - Restore on the Desktop, or run:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\windows\scripts\restore-dream-skin.ps1" -RestoreBaseTheme -PromptRestartTo remove the shortcuts at the same time, add -Uninstall:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\windows\scripts\restore-dream-skin.ps1" -RestoreBaseTheme -PromptRestart -UninstallIn this source lock, -Uninstall removes shortcuts. Do not describe it as deleting every downloaded or state file.
Open the official Codex app once, quit it, and run the installer again. It expects ~/.codex/config.toml.
Stop. Do not bypass the identity or signature check. Confirm the official app is installed and launched once, then review current upstream issues if it still fails.
Save input, quit Codex, and open the launcher again. Approve a restart only when ready to lose unsaved input.
Use PNG, JPEG, HEIC, TIFF, or WebP. Keep the source at 50 MB or less. Resize or simplify it if the prepared image exceeds 16 MB.
Run Verify. Restore if Home, Task, Diff, menus, typing, or scrolling is not usable.
Run node --version and install Node.js 22 or newer from the official Node.js site.
Stop. Confirm the official Microsoft Store Codex package is installed. Do not bypass the identity check.
Save work, quit every Codex window, and rerun install only after the app is closed.
Do not stop an unknown process. Let the script select another port when no port is forced, or choose a different unused loopback port.
Restore or close Codex, then start again. Do not connect the injector to an endpoint that cannot be tied to the official Codex process.
Check upstream, reinstall or reapply from a fresh original copy, and verify again. Restore if verification fails.
Do not force-kill by saved PID alone. Close Codex manually, preserve redacted state and logs, and report the issue upstream.
Remove conversations, project names, revealing local paths, account details, passwords, sign-in files, and private access keys. Do not attach auth.json.
Save unfinished input, run the restore action for your platform, restart Codex, and confirm that the default appearance returns.
Final safety note: If Codex becomes hard to read, a control stops working, or verification fails, restore the default appearance first. A custom look is optional. A usable editor is not.