File locations
Use this page when you’re troubleshooting, cleaning up, or want to know what Code Config keeps on your computer. Everything lives in ~/.code-shared-config, and the paths below are relative to that folder unless stated otherwise. A csc installed in a folder of its own keeps everything in that folder instead, as described below.
Don’t edit these files to change a toolkit; use the web app or the CLI.
Code Config’s own files
Section titled “Code Config’s own files”| Path | Purpose |
|---|---|
enrollments/<workspace id>.json |
This computer’s sign-in to one workspace, one file per workspace. |
state/selected-workspace.json |
The workspace csc and the app use on this computer. |
keys/<machine id>.key |
The computer’s request-signing key when stored in a file. |
cache/manifest/index.json |
The fetched toolkit index. |
cache/manifest/<toolkit id>.json |
The fetched definition of one toolkit. |
state/last-sync.json |
Last sync result; the adjacent lock coordinates writers. |
state/manifest-diagnostics.json |
Diagnostics from the last toolkit fetch. |
state/pending-enrollment.json |
An unfinished computer sign-in. |
state/fetch-stamps/<host>__<owner>__<repo> |
Repository fetch times. |
state/machine-runtime-reports/<machine id>.json |
Unsent runtime reports; an adjacent directory holds queued reports and locks. |
repos/<host>/<owner>/<repo>.git |
Downloaded repository data without a working folder. |
worktrees/<host>/<owner>/<repo>/<commit>/ |
A checkout of a specific repository version. |
sessions/<session id>/ |
Configuration for a managed launch. |
runtime/<session id>/ |
Files required while a run is active. |
logs/ |
Sync and program logs. |
broker/ |
Local credential-runtime state, created when needed. |
materialized/<toolkit id>/<target>/<version>/ |
Prepared toolkit content associated with its version and delivery target. |
Managed local state uses owner-only permissions. Do not share these folders as a diagnostic bundle without checking them for sensitive data.
When csc is installed in a folder of its own
Section titled “When csc is installed in a folder of its own”The installer puts csc in a folder of its own in two cases: you named a folder with CODE_CONFIG_INSTALL_DIR, or your home folder can’t be written and the installer could write to /workspace/shared, the shared folder on the computer ChatGPT’s agent works on. Everything then lives in one code-config folder inside that folder:
| Path | Purpose |
|---|---|
code-config/bin/csc |
The csc command. |
code-config/ |
Everything listed under Code Config’s own files, in place of ~/.code-shared-config. |
csc finds its files from where it runs. A csc inside a code-config/bin folder uses that code-config folder, so there is nothing to set each time you run it. To remove this kind of install, see Troubleshooting.
Files written for each launch
Section titled “Files written for each launch”These paths are inside the run’s configuration folder. They are not necessarily paths relative to your project or the app’s normal user folder.
| Coding app | Files prepared for the run |
|---|---|
| Claude app and Claude Code CLI | skills/, agents/, commands/, output-styles/, CLAUDE.md, settings.json, hook scripts, and MCP registration metadata. |
| Codex app and Codex CLI | skills/, agent role files, AGENTS.md, hooks.json, and a copy of config.toml. Commands become skills. |
Authored repository layouts and runtime destinations are different. Claude Code repositories commonly use .claude/skills/; the shared .agents/skills/ source layout is not a promise that every target reads that exact runtime path. See the individual coding-app guides. Your private tools repository has a layout of its own; see Folder structure.
Your existing coding-app settings
Section titled “Your existing coding-app settings”Account import copies source account files into managed account storage without deleting the originals.
For Codex, toolkit changes apply to a launch copy of ~/.codex/config.toml. Decisions you make inside Codex itself during the run, such as trust and approvals, can be carried back to the original without the toolkit’s overrides. The original file can still change (it is not frozen). See Codex.