A usage limit restricts how much Claude can be used over a given time window, whereas context window limits constrain a single conversation's capacity. If your context window is simply full, use /compact or /clear inside Claude Code. If you have hit an account usage limit and need to switch agents, Watch transfers your saved local session history into Codex. Watch does not bypass limits or alter local repository files.
During prolonged engineering tasks, Claude Code may report that you have reached your plan limit along with a reset timestamp. The reasoning, failed iterations, and command outputs accumulated so far remain on your disk. Watch bridges this saved session into OpenAI Codex, allowing the new tool to inspect preceding context without requiring you to manually summarize the investigation.
Step 1: Verify source session ID and working directory
Locate the active Claude Code session ID. History is stored under ~/.claude/projects/<encoded-cwd>/<session-id>.jsonl. Ensure the directory path (cwd) matches the actual project workspace to prevent worktree and repository misalignments.
Step 2: Ensure target project exists in Codex Desktop
Under official external agent import requirements, the destination workspace must already be registered in Codex Desktop. Open the folder in Codex Desktop beforehand to establish local trust and project recognition.
Step 3: Prepare the import plan (Prepare)
In Watch Desktop, select the source session and click OpenAI Codex, or run the prepare CLI command. This stage performs read-only checks, verifies lock status, and establishes an execution journal without modifying target files.
Step 4: Confirm import and review degradation items (Confirm)
Review the previewed message count, working directory, and tool call traces. Explicitly confirm to initiate the transfer via the local Codex app-server import protocol. Note that tool call events may degrade into text representations.
Step 5: Launch the target client independently (Open)
Once confirmed, open Codex Desktop using the app interface or resume command. Import and opening are strictly separated: if launching fails, retry opening only without repeating the import phase.
# 1. Prepare import plan (read-only probe and plan generation)
npm run watch -- import-codex prepare <claude-id> --cwd /abs/project/path --desktop-project --experimental --json
# 2. Confirm and execute import (using planId from prepare output)
npm run watch -- import-codex confirm <plan-id> --json
# 3. Check execution status (read-only probe if interrupted)
npm run watch -- import-codex status <plan-id> --json1. No lossless guarantee: Tool call structures degrade to plain text in Codex, and model continuation is outside the limited validation scope. 2. Stop on uncertain state: If the process is interrupted or times out, the lock is retained. Inspect with the status command rather than forcibly deleting locks or re-submitting. 3. Local conversion is not fully offline: While Watch operates without external servers, Codex invokes its own app-server daemon and authenticates with its upstream model provider.