Skip to main content
AI/MLLeeJuOh

codex-cancel

Cancel an active background Codex job. Use when asked \"codex cancel\", \"코덱스 취소\", \"작업 중단\", or wants to stop a running Codex task.

Stars
45
Source
LeeJuOh/claude-code-zero
Updated
2026-05-25
Slug
LeeJuOh--claude-code-zero--codex-cancel
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/LeeJuOh/claude-code-zero/HEAD/plugins/codex-advisor/skills/codex-cancel/SKILL.md -o .claude/skills/codex-cancel.md

Drops the SKILL.md into .claude/skills/codex-cancel.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Codex Job Cancel

Pass-through wrapper around the Official Codex companion's cancel subcommand. Exists so users who disabled the Official plugin's slash commands can still cancel jobs via codex-advisor.

Phase 1: Confirm target (if ambiguous)

If the user did not provide a job-id, the companion cancels the most recent active job — which may not be what they intended. Use AskUserQuestion when:

  • Multiple active jobs exist (check via node "$CODEX_COMPANION" status first, optional).
  • The user's phrasing suggests a specific job ("cancel the rescue", "stop the research") but no ID.

Skip the prompt when the intent is obvious (single active job, or they pass an explicit ID).

Phase 2: Invoke companion cancel

set -o pipefail
CODEX_COMPANION=$("${CLAUDE_PLUGIN_ROOT}/scripts/resolve-companion.sh") \
  || { echo "Official Codex plugin not found — run /codex-setup" >&2; exit 1; }

node "$CODEX_COMPANION" cancel $ARGUMENTS

Relay the companion's output verbatim. It typically reports cancelled or no-op (not running).

Gotchas

  • Cancellation is not instant. The companion signals the Codex worker; in-flight tool calls may complete before the worker exits. Don't promise "stopped immediately".
  • Cancelling a rescue job does NOT revert the diff. If Codex already wrote files under --write, those changes stay on disk. Remind the user to git diff / git restore if needed.
  • No job-id == most recent active. Only one job at a time is the common case, so this usually does what the user wants — but with multiple active jobs it can surprise. When in doubt, run status first and cancel by explicit ID.