# Cursor Rescue

> Diagnose and recover Cursor backend failures for Harness workflows. Use when user invokes cursor:rescue, Cursor delegation fails, cursor-agent is missing, setup-cursor fails, or backend resolution unexpectedly falls back to claude.

- Skill: `whyzsm/cursor-rescue` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add whyzsm/cursor-rescue`
- Raw SKILL.md: https://api.skillmd.com/api/skills/whyzsm/cursor-rescue/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: whyzsm (https://skillmd.com/u/whyzsm)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/whyzsm/cursor-rescue

---


# cursor:rescue - Cursor Backend Recovery

Cursor backend の failure path を短く切り分ける skill。変更は最小限にし、破壊的操作はしない。

## Quick Reference

```bash
cursor:rescue "breezing fell back to claude"
cursor:rescue "cursor-agent not found"
```

## Diagnosis Order

Run one compact diagnostic block:

```bash
set +e
HARNESS_PLUGIN_ROOT="${HARNESS_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-}}"
if [ -z "$HARNESS_PLUGIN_ROOT" ] && [ -n "${CLAUDE_SKILL_DIR:-}" ]; then
  probe="$(cd "${CLAUDE_SKILL_DIR}" && pwd)"
  while [ "$probe" != "/" ] && [ ! -d "$probe/scripts" ]; do
    probe="$(cd "$probe/.." && pwd)"
  done
  [ -d "$probe/scripts" ] && HARNESS_PLUGIN_ROOT="$probe"
fi
if [ -z "$HARNESS_PLUGIN_ROOT" ]; then
  echo "ERROR: HARNESS_PLUGIN_ROOT is not set and could not be derived from CLAUDE_PLUGIN_ROOT or CLAUDE_SKILL_DIR" >&2
  exit 2
fi
echo "==RESOLVED_BACKEND=="
bash "${HARNESS_PLUGIN_ROOT}/scripts/resolve-impl-backend.sh" --role worker
echo "==USER_OR_PROJECT_DEFAULT=="
bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --show
echo "==CURSOR_MODEL=="
bash "${HARNESS_PLUGIN_ROOT}/scripts/model-routing.sh" --host cursor --role worker --field model
echo "==CURSOR_AGENT=="
CURSOR_AGENT_BIN="${CURSOR_AGENT_BIN:-}"
if [ -z "$CURSOR_AGENT_BIN" ]; then
  if command -v cursor-agent >/dev/null 2>&1; then
    CURSOR_AGENT_BIN="$(command -v cursor-agent)"
  elif [ -x "$HOME/.local/bin/cursor-agent" ]; then
    CURSOR_AGENT_BIN="$HOME/.local/bin/cursor-agent"
  fi
fi
if [ -z "$CURSOR_AGENT_BIN" ]; then
  echo "NOT_INSTALLED: cursor-agent not found in PATH or $HOME/.local/bin"
else
  "$CURSOR_AGENT_BIN" --version
fi
echo "==CURSOR_PACKAGE_CHECK=="
bash "${HARNESS_PLUGIN_ROOT}/scripts/setup-cursor.sh" --check
```

## Common Fixes

| Symptom | Fix |
|---|---|
| `cursor-agent` missing | Install / sign in to Cursor CLI, then rerun `cursor:setup --check`. |
| backend resolves to `claude` unexpectedly | Run `bash scripts/set-impl-backend.sh --show`; set user default with `cursor:setup --user-default` or project default with `cursor:setup --project-default`. |
| `setup-cursor.sh --check` fails | Report the first failing `[ERR]` line and the missing file path. |
| companion exits 2 | Workspace guard or forbidden path. Recreate an isolated worktree and retry. |
| companion exits 3 | `cursor-agent` not found in PATH or `$HOME/.local/bin`. |

## Output

Return:

- root cause candidate
- exact failing command
- minimal fix command
- whether retrying the original workflow is safe

