// Execute Codex CLI for code analysis, refactoring, and automated code changes. Use when you need to delegate complex code tasks to Codex AI with file references (@syntax) and structured output.
| name | codex |
| description | Execute Codex CLI for code analysis, refactoring, and automated code changes. Use when you need to delegate complex code tasks to Codex AI with file references (@syntax) and structured output. |
Execute Codex CLI commands and parse structured JSON responses. Supports file references via @ syntax, multiple models, and sandbox controls.
Recommended approach (use uv run to manage the Python environment automatically):
uv run ~/.claude/skills/codex/scripts/codex.py "<task>" [model] [working_dir]
Alternative approach (run directly or via Python):
~/.claude/skills/codex/scripts/codex.py "<task>" [model] [working_dir]
# Or
python3 ~/.claude/skills/codex/scripts/codex.py "<task>" [model] [working_dir]
Resume session:
uv run ~/.claude/skills/codex/scripts/codex.py resume <session_id> "<task>" [model] [working_dir]
CODEX_TIMEOUT environment variable (in milliseconds, e.g., CODEX_TIMEOUT=3600000 for 1 hour)timeout: 7200000 parameter for double protectiontask (required): Task description, supports @file references
WARN: Task length (XXX chars) exceeds threshold, using stdin mode...model (optional): Model to use (default: gpt-5.1-codex)
gpt-5.1-codex: Default, optimized for codegpt-5: Fast general purposeworking_dir (optional): Working directory (default: current)Extracts agent_message from Codex JSON stream and appends session ID:
Agent response text here...
---
SESSION_ID: 019a7247-ac9d-71f3-89e2-a823dbd8fd14
Error format (stderr):
ERROR: Error message
When calling via Bash tool, always include the timeout parameter:
Bash tool parameters:
- command: uv run ~/.claude/skills/codex/scripts/codex.py "<task>" [model] [working_dir]
- timeout: 7200000
- description: <brief description of the task>
Alternatives:
# Direct execution (simplest)
- command: ~/.claude/skills/codex/scripts/codex.py "<task>" [model] [working_dir]
# Using python3
- command: python3 ~/.claude/skills/codex/scripts/codex.py "<task>" [model] [working_dir]
Basic code analysis:
# Recommended: via uv run (auto-manages Python environment)
uv run ~/.claude/skills/codex/scripts/codex.py "explain @src/main.ts"
# timeout: 7200000
# Alternative: direct execution
~/.claude/skills/codex/scripts/codex.py "explain @src/main.ts"
Refactoring with specific model:
uv run ~/.claude/skills/codex/scripts/codex.py "refactor @src/utils for performance" "gpt-5"
# timeout: 7200000
Multi-file analysis:
uv run ~/.claude/skills/codex/scripts/codex.py "analyze @. and find security issues" "gpt-5-codex" "/path/to/project"
# timeout: 7200000
Resume previous session:
# First session
uv run ~/.claude/skills/codex/scripts/codex.py "add comments to @utils.js" "gpt-5-codex"
# Output includes: SESSION_ID: 019a7247-ac9d-71f3-89e2-a823dbd8fd14
# Continue the conversation
uv run ~/.claude/skills/codex/scripts/codex.py resume 019a7247-ac9d-71f3-89e2-a823dbd8fd14 "now add type hints"
# timeout: 7200000
Using python3 directly (alternative):
python3 ~/.claude/skills/codex/scripts/codex.py "your task here"
uv run for automatic Python environment management (requires uv installed)./codex.py (uses system Python via shebang)--dangerously-bypass-approvals-and-sandbox for automation (new sessions only)--skip-git-repo-check to work in any directoryThe wrapper automatically handles long task inputs to avoid shell argument length limits and escaping issues:
STDIN_THRESHOLD in codex.py)WARN: Task length (XXX chars) exceeds threshold, using stdin mode...- to codex CLI (signals stdin input)