Calmbu
CODEX STATE / NATIVE WINDOWS CODEX

Where does Codex store local data on Windows?

Understand CODEX_HOME, the default .codex folder, separate SQLite state, and which local Codex data needs special care.

DIRECT ANSWER

What you need to know

Codex uses CODEX_HOME as its main local state root. On native Windows, when CODEX_HOME is not set, that normally resolves to %USERPROFILE%\.codex. OpenAI documents that this root can contain configuration, authentication, logs, sessions, skills, and package metadata. SQLite-backed state can be moved separately with CODEX_SQLITE_HOME or the sqlite_home setting.

The default native Windows location

For a standard native Windows setup, start with the .codex directory inside your user profile. The full path is usually C:\Users\<your-name>\.codex.

If CODEX_HOME is defined, that value becomes the state root instead. The directory can contain both valuable workspace continuity and sensitive or disposable runtime material, so locating it is only the first step; a backup policy still needs exclusions and encryption.

What may live under CODEX_HOME

  • User configuration and profiles
  • Local session and history data
  • Skills and reusable Codex customisation
  • Logs and runtime state
  • Authentication data, depending on the configured credential store
  • Standalone package metadata and other Codex-managed state

Check for split state before you back up

OpenAI also documents CODEX_SQLITE_HOME for SQLite-backed CLI and app-server state. The sqlite_home configuration setting takes precedence when present. If you have used either override, copying only CODEX_HOME may not cover everything you intended.

Native Windows and WSL have different home directories. A .codex folder inside WSL is not automatically the same data as the native Windows .codex folder. Calmbu's current Codex coverage supports native Windows state only.

  1. 01

    Check CODEX_HOME

    Record the active value, or use %USERPROFILE%\.codex when it is unset.

  2. 02

    Check SQLite overrides

    Look for CODEX_SQLITE_HOME or a sqlite_home setting if you have customised Codex storage.

  3. 03

    Identify the environment

    Confirm whether the state belongs to native Windows or WSL before moving or recovering it.

Sensitive files are part of the location, not automatically part of a safe backup

If Codex uses file-based credential storage, auth.json lives under CODEX_HOME and can contain access tokens. Do not publish, commit, or casually sync it. A backup product should make a deliberate security decision about credentials rather than treating every file equally.

THE CALMBU BOUNDARY

What Calmbu currently claims

Calmbu supports approved native Windows Codex workspace data, with the current scope shown in the app. WSL, network roots, cloud-only ChatGPT/Codex state, credentials, and original project files remain outside that scope. Claude Code has its own supported coverage.

See the recovery model How Calmbu verifies its claims

Common questions

Is CODEX_HOME always C:\Users\me\.codex?

No. That is the normal native Windows fallback. If CODEX_HOME is set, Codex uses the configured directory instead.

Does CODEX_HOME include my repositories?

Not necessarily. Your repositories can live anywhere. CODEX_HOME is Codex's state root, while Git repositories remain a separate layer that needs its own protection.

Is WSL Codex state supported by Calmbu?

No. Current Calmbu support covers local Codex using a native Windows Codex home, not a .codex directory owned by WSL.

SOURCE BOUNDARY

Official references used for Codex facts

OpenAI documentation establishes Codex behaviour. Calmbu-specific statements describe the current product contract and are not presented as OpenAI guidance.

NEXT USEFUL ANSWERS

Continue the recovery plan