Comprehensive guide for using Codex CLI (OpenAI) and Claude Code CLI (Anthropic) - AI-powered coding agents. Use when orchestrating CLI commands, automating tasks, configuring agents, or troubleshooting issues.
Comprehensive guide for using Codex CLI (OpenAI) and Claude Code CLI (Anthropic) - AI-powered coding agents. Use when orchestrating CLI commands, automating tasks, configuring agents, or troubleshooting issues.
AI Coding Agents Skill
Expert knowledge for Codex CLI and Claude Code CLI — the two leading AI coding agents.
Note: This skill documents both tools for reference. VMark development primarily uses Claude Code CLI. The Codex CLI sections are retained for completeness and cross-tool workflows.
When to Use
Orchestrating complex coding tasks via CLI
Configuring MCP servers for either tool
Setting up automation pipelines (CI/CD)
Troubleshooting authentication or sandbox issues
Comparing capabilities between agents
Custom agent/subagent configuration
Quick Reference
Starting Sessions
Task
Codex CLI
Claude Code CLI
Interactive session
codex
claude
With prompt
codex "fix the bug"
claude "fix the bug"
Non-interactive
codex exec "task"
claude -p "task"
Resume last
codex resume --last
claude -c
Resume by ID
codex resume <id>
claude -r <id>
Safety Modes
Mode
Codex CLI
Claude Code CLI
Read-only
-s read-only
--permission-mode plan
Workspace write
-s workspace-write
(default)
Full access
-s danger-full-access
--dangerously-skip-permissions
Auto mode
--full-auto
--permission-mode default
YOLO mode
--yolo
--dangerously-skip-permissions
Model Selection
Task
Codex CLI
Claude Code CLI
Select model
-m gpt-5-codex
--model opus
Use local OSS
--oss
N/A
Fallback model
N/A
--fallback-model sonnet
Codex CLI (OpenAI)
Installation
npm i -g @openai/codex
# or
brew install --cask codex
Authentication
codex login # OAuth via ChatGPT
codex login --with-api-key # Read API key from stdin
codex login status # Check auth status
codex logout# Remove credentials
Core Commands
codex - Interactive Mode
codex # Start TUI
codex "fix all TypeScript errors"# With initial prompt
codex -i screenshot.png "explain"# With image
codex --full-auto "refactor"# Low-friction mode
codex --search "find docs"# Enable web search
codex exec - Non-Interactive
codex exec"write tests"# Run and exit
codex e "task"# Short aliasecho"task" | codex exec - # From stdin
codex exec --json "task"# JSONL output
codex exec -o result.txt "task"# Save to file
codex exec --output-schema schema.json "task"# Validate output
codex resume - Continue Sessions
codex resume # Interactive picker
codex resume --last # Most recent
codex resume --all # Show all (any directory)
codex resume <session-id> # Specific session
codex resume <id> "continue with this"# With prompt
codex review - Code Review
codex review # Review current branch vs main
codex review --uncommitted # Review uncommitted changes
codex review --base develop # Against specific branch
codex review --commit abc123 # Review specific commit
codex review "focus on security"# Custom instructions
codex apply - Apply Cloud Task
codex apply <task-id> # Apply diff from cloud task
-m, --model <MODEL> Model selection
-s, --sandbox <MODE> read-only|workspace-write|danger-full-access
-a, --ask-for-approval <P> untrusted|on-failure|on-request|never
-c, --config <KEY=VALUE> Override config
-C, --cd <DIR> Working directory
-i, --image <FILE> Attach image(s)
-p, --profile <NAME> Config profile
--full-auto Low-friction mode
--yolo Bypass all safety (DANGEROUS)
--search Enable web search
--add-dir <DIR> Grant additional write access
--enable <FEATURE> Enable feature flag
--disable <FEATURE> Disable feature flag
--oss Use local OSS model
Claude Code CLI (Anthropic)
Installation
npm install -g @anthropic-ai/claude-code
Authentication
claude # First run prompts login
claude setup-token # Set up long-lived token# Requires Claude Pro/Max subscription OR API key
Core Commands
claude - Interactive Mode
claude # Start REPL
claude "explain this project"# With prompt
claude -c # Continue last conversation
claude -r "session-name"# Resume by name/ID
claude --model opus # Select model
claude --chrome # Enable Chrome integration
claude --ide # Auto-connect to IDE
claude -p - Print Mode (Non-Interactive)
claude -p "explain this function"# Query and exitcat file | claude -p "explain"# Process piped input
claude -p --output-format json "q"# JSON output
claude -p --output-format stream-json "q"# Streaming JSON
claude -p --max-turns 3 "task"# Limit agent turns
claude -p --max-budget-usd 5 "task"# Spending limit
claude -p --json-schema '{...}'"q"# Validate output schema
claude mcp - MCP Server Management
claude mcp list # List servers
claude mcp get <name> # Server details
claude mcp add <name> <cmd> # Add stdio server
claude mcp add -t http <name> <url> # Add HTTP server
claude mcp add -e KEY=val <name> -- cmd # With env vars
claude mcp add -H "Auth: Bearer x" <name> <url> # With headers
claude mcp add -s project <name> <cmd> # Project scope
claude mcp remove <name> # Remove server
claude mcp serve # Run as MCP server
claude mcp add-from-claude-desktop # Import from desktop app
claude mcp reset-project-choices # Reset approvals
claude plugin - Plugin Management
claude plugin list # List plugins
claude plugin install <name> # Install plugin
claude plugin install <name>@marketplace # From specific marketplace
claude plugin uninstall <name> # Remove plugin
claude plugin enable <name> # Enable disabled plugin
claude plugin disable <name> # Disable plugin
claude plugin update <name> # Update plugin
claude plugin validate <path> # Validate manifest
claude plugin marketplace # Manage marketplaces
claude update - Self-Update
claude update # Check and install updates
claude doctor - Diagnostics
claude doctor # Check health/issues
claude install - Native Build
claude install # Install native build
claude install stable # Specific version
claude install latest # Latest version
Slash Commands (Interactive)
Command
Purpose
/init
Generate CLAUDE.md
/clear
Reset context
/compact
Summarize conversation
/bug
Report issues
/doctor
Run diagnostics
/model
Switch model
/config
View/edit settings
/permissions
Manage permissions
/memory
View/edit memory
/project:<cmd>
Project-specific commands
/user:<cmd>
User-specific commands
Custom Commands
Create .claude/commands/fix-issue.md:
Fix GitHub issue #$ARGUMENTS
1. Read the issue details
2. Identify the problem
3. Implement the fix
4. Write tests
5. Create a commit
-p, --print Non-interactive mode
-c, --continue Continue last conversation
-r, --resume <ID> Resume specific session
-v, --version Show version
Model & Config
--model <MODEL> sonnet|opus|haiku or full name
--fallback-model <MODEL> Fallback when overloaded
--settings <FILE> Load settings JSON
--setting-sources <LIST> user,project,local
--session-id <UUID> Use specific session ID
System Prompt
--system-prompt <TEXT> Replace default prompt
--append-system-prompt <T> Append to default
--system-prompt-file <F> Replace with file (print only)
--append-system-prompt-file Replace with file (print only)