2.0 KiB
name, description
| name | description |
|---|---|
| codex-thread-cwd | Change a Codex thread working directory/cwd on the Codex side, not in downstream tool databases. Use when asked to change, move, fix, align, or sync a Codex thread workspace/cwd, especially for app-server threads or client integrations where dependent tools should sync from Codex afterward. |
Codex Thread CWD
Use this skill to change a Codex thread's stored working directory (cwd) in Codex state, then let clients such as a Telegram bot sync from Codex. Do not edit downstream client databases as the source of truth.
Required Inputs
- Target absolute
cwd. Derive it from the user's request, the current repo, or an explicit argument. Do not assume a machine-specific path. - Target thread is normally the active Telegram/Codex thread unless the user specifies another one.
Telegram Bot Directive
When working through this Telegram bot, emit exactly one hidden directive line in normal assistant output, outside code fences:
<!-- codex-thread-cwd {"cwd":"<absolute-cwd>"} -->
The bot strips the directive, updates Codex-side cwd state, and syncs its local workspace tracking from the new Codex cwd. Do not run the bundled script or other tool calls when this directive is available.
Script Fallback
Use the bundled script only outside the Telegram bot directive path, or when repairing state manually:
python3 path/to/codex-thread-cwd/scripts/set_thread_cwd.py THREAD_ID /absolute/new/cwd
Use --codex-home, --state-db, or CODEX_HOME when the Codex state is not under the current user's default Codex home.
Notes
- The app-server schema exposes
cwdonthread/resume,thread/fork, andturn/start;thread/metadata/updatedoes not patchcwd. - The proven no-turn approach is to update Codex's own
state_*.sqlitethreads.cwdrow and the firstsession_meta.payload.cwdline in the rollout JSONL. This is Codex-side state, not downstream client state. - The bot implementation performs that no-turn update when configured with access to Codex state.