Model or dataset
yynxxxxx/Codex-X avatar
yynxxxxx/Codex-X

Codex-X pulls Codex's scattered config files into one Tauri desktop app

OpenAI Codex 桌面端/CLI 的可视化管理工具,具有Provider/API 切换、会话同步、提示词注入、Skills/MCP 管理、TOML 配置可视化的跨平台工具。

3,204 stars425 forksRustMIT

At a glance

What is it?
yynxxxxx/Codex-X is an MIT, Rust and Tauri 2 desktop tool for OpenAI Codex Desktop and Codex CLI. It manages prompt templates, provider and login switching, local sessions, Skills and MCP servers, TOML configuration, and token usage statistics. It also ships a prompt library whose built-in half deserves a second look before you enable it.
Who is it for?
Take it if you run Codex against more than one provider, keep several instruction prompts on hand, or want to see where your tokens went without reading logs. Skip it if you are happy editing config.toml yourself, or if your security review will not accept a third-party app writing to auth.json and to your session store, since session deletion here is described as permanent.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Rust, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The config sprawl it is aimed at

Anyone who runs an AI coding agent seriously ends up with the same mess. The provider credentials live in one file, the model and context settings in another, the instruction prompts in a third, the session history somewhere the client owns, and the MCP and skill definitions in yet another place. Changing one thing means remembering which file holds it. Codex-X is a desktop application that puts all of that behind one interface for OpenAI Codex Desktop and Codex CLI.

The README lists six jobs it takes on: prompt template management with categories, Markdown import, editing and per-item enable or disable; provider and API switching with connection checks; local session search, grouping and deletion; Skills and MCP management; inspection of config.toml and auth.json; and token usage statistics by date and model.

It is built with Tauri 2, React 18, TypeScript and Rust, stores local data in SQLite, and is published for macOS on Apple Silicon and Intel, Windows as an installer or a portable archive, and Linux as deb, rpm and AppImage packages.

What the prompt library actually contains

The headline feature is a visual prompt injection centre. Templates are grouped into categories, the README names reverse engineering, software development and writing assistance among them, and you can add your own. Each entry has an independent switch, and turning one on writes it into the Codex instruction file using whichever mode you selected: keep existing, which appends, or replace existing, which swaps the whole thing. That append versus replace distinction is the part that matters day to day, because it decides whether you are layering prompts or switching personalities.

The library has two halves. Five templates are bundled offline in the installer, and the application syncs more from the repository's examples directory after startup, bringing the total to eleven. Synced templates are cached locally so they keep working when you are offline, and updates to them do not touch prompts you wrote yourself.

Now the part worth care. The offline half of that set is built from unrestricted-style instruction templates, the kind written to push past a model's default refusals, and one is documented as routing coding, CTF and reverse engineering tasks. These exist in the repository and the tool will write them into your Codex instructions for you. That is a decision with consequences beyond convenience: it changes model behaviour, it can conflict with your provider's terms of service, and in a work setting it is the sort of thing that should go past whoever owns your acceptable use policy. Read the file before you enable it.

Providers, logins and switching without restarts

On the provider side the tool stores several named configurations, covering both official Codex logins and third-party API providers, and lets you copy and switch between them. Third-party entries support a connection check and model discovery and testing, and existing providers can be imported from cc-switch.

Two recent releases moved this area quickly. Version 0.3.16 unified official logins and third-party providers under one-click copy, so a copy joins the list immediately without opening an editor or asking for confirmation, and added a checkbox to enable a 1M context window alongside the TOML editor, which the README qualifies as requiring model support. Version 0.3.17 added presets and model mappings for DeepSeek, MiniMax and Xiaomi MiMo, and surfaced remaining quota, reset time and available resets for official accounts, with email, plan and login state shown in the list. Version 0.3.18 let mapped third-party models expose a reasoning level choice in Codex and fixed a fault where DeepSeek returned an error on the first message and only worked on retry.

The README states that after enabling a new provider you do not need to restart the client; opening a new session or reopening one is enough.

Sessions, Skills, MCP and TOML in one interface

Session handling covers search, grouping by project path, syncing the current provider, checking session state, and single, multi-select or project-level permanent deletion. The README labels deletion permanent, and the 0.3.18 release added Markdown export for sessions plus packaged download when several are selected.

Skills and MCP servers get a single page: a visual listing, import of existing configuration, installing a skill from a ZIP archive, per-item enable and disable, and an update status check. Release 0.3.18 added ZIP export and re-import for both, and removed a 20 MB cap on skill archives.

Configuration inspection is the other half. You can view config.toml and auth.json in one place, edit config.toml with syntax highlighting, and the README says important writes are backed up automatically. Release 0.3.18 added a background configuration check that warns when it finds something likely to stop Codex working, and offers a fix that takes a backup first, or defers to the general settings page.

There is also a documented online reverse engineering skill guide covering APK, EXE and web protocol targets, which tells you something about the audience this tool was built for.

Usage statistics and how the numbers are counted

The settings area has a usage statistics tab that filters local token usage by date and model and shows daily trends, cache hit rate, model distribution and the ten most recent main sessions. Where a session has no title, the project name is shown instead.

The counting rule is the interesting bit. Usage from sub-agents is merged into the parent session together with their descendants, and sub-agents are not listed separately as recent sessions or counted as active sessions. Chats the user deliberately forked stay independent. That produces numbers that match how a person thinks about a piece of work rather than how the client thinks about processes, which is the right default and is not what a raw log would give you.

Release 0.3.16 introduced the tab, and 0.3.18 fixed a fault where very large log records were skipped by the statistics pass.

Getting a build, or building it yourself

Binary builds are published on the project's GitHub releases page, and installed editions can download, verify and install updates from inside the application. The Windows portable build stays on manual updates.

If you would rather build from source, the repository is a pnpm workspace with a Tauri desktop application under apps/desktop. The scripts in the root package.json are the entry points, and the workspace version there reads 0.3.18:

json
  "scripts": {
    "dev": "pnpm --dir apps/desktop tauri dev",
    "build": "pnpm --dir apps/desktop tauri build",
    "typecheck": "pnpm --dir apps/desktop typecheck"
  },

The build script produces the desktop bundles:

bash
pnpm --dir apps/desktop tauri build

Two things to know before you start. The README does not state minimum Node, Rust or pnpm versions, so you are finding that out yourself. And on macOS, opening an unsigned or unnotarized disk image triggers the standard Gatekeeper complaint that the application is damaged; the project's own recommendation is to sign and notarize with an Apple Developer ID rather than work around it locally.

What it writes to, and the ways that bites

This tool is not a viewer. It writes to your Codex instruction file, to config.toml, and to your session store, and it holds credentials in a local database. That is the trade for the convenience, and it deserves naming plainly.

Session deletion is permanent and, at project level, deletes more than you might expect from a single click. Prompt injection rewrites the instruction file, so a template you forgot to switch off is still shaping every session until you notice. The automatic backup on important writes is the mitigation the project offers, and it is worth checking that those backups exist before you rely on them.

The second risk is coupling. A tool that reads auth.json and config.toml depends on Codex keeping those files where they are. A Codex client update that moves or restructures them puts this application in the position of playing catch-up, which the release history shows is a real pattern: several entries in recent versions are fixes for provider duplication, failed third-party authentication and configuration problems.

The third is the built-in prompt library itself, covered above. It is the one feature here that can change model behaviour without you writing a line of configuration.

Hand-editing, cc-switch, licence and upkeep

The direct alternative is what this tool replaces: editing config.toml and auth.json by hand, keeping your instruction prompts as Markdown files you copy in yourself, and reading session logs when you want usage numbers. That route has no bundled prompt library to vet, no third-party binary holding your credentials, and no coupling to a GUI keeping pace with Codex. It also has no usage trends, no session repair, no provider switching that works without a restart, and no way to see cache hit rate without doing arithmetic.

cc-switch is the narrower comparison, and Codex-X can import providers from it, so the two are not mutually exclusive. Where cc-switch concentrates on switching, Codex-X adds the prompt centre, session management, Skills and MCP, TOML inspection and usage statistics in the same application.

The project is MIT licensed, so the code is yours to fork and audit, which matters for a tool that sits this close to your credentials. It is current: the last push was on 2026-09-17, and the three most recent releases are 0.3.18 on 2026-09-17, 0.3.17 on 2026-09-09 and 0.3.16 on 2026-09-08. Upkeep cost is mostly keeping pace with Codex itself, and the release notes suggest that is where most of the work goes.

Editorial conclusion

Take it if you run Codex against more than one provider, keep several instruction prompts on hand, or want to see where your tokens went without reading logs. Skip it if you are happy editing config.toml yourself, or if your security review will not accept a third-party app writing to auth.json and to your session store, since session deletion here is described as permanent. Before enabling anything, look at what the prompt library actually does: the offline half of the template set is built from unrestricted-style instruction templates, which change how the model behaves and may conflict with your provider's terms. Start by adding your own Markdown prompt and one third-party provider, confirm the automatic backup landed, and leave the built-in templates switched off until you have read them.

Frequently asked questions

What does Codex-X do with my Codex configuration files?

It reads and writes config.toml and auth.json, writes enabled prompt templates into the Codex instruction file, and manages local sessions. The README states that important writes are backed up automatically, and that session deletion is permanent.

Do I need to restart Codex after switching providers in Codex-X?

No. The README states that once a new provider is enabled you only need to start a new session or reopen an existing one. Providers can be official Codex logins or third-party API entries, and existing providers can be imported from cc-switch.

Which platforms does Codex-X support?

It ships macOS disk images for Apple Silicon and Intel, a Windows installer plus a portable archive, and Linux deb, rpm and AppImage packages. Installed editions update from inside the app, while the Windows portable build is updated manually.

How does Codex-X count token usage for sub-agents?

Sub-agent usage is merged into the parent session along with its descendants, and sub-agents are not listed separately in recent sessions or counted as active sessions. Chats the user forks deliberately remain independent.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. yynxxxxx/Codex-X on GitHub
Community notes

Community notes