Resume a Parked Weft Workflow

SkillDev tools

Resume a weft workflow parked in 'waiting' at a human gate (unattended on_fail=block). Use only when user types /wf-resume.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Resume a Parked Weft Workflow skill

What this skill tells your AI

The instructions your AI receives, as published by dioptx/weft in skills/wf-resume/SKILL.md and read by ahel’s review.

When weft runs unattended (WEFT_UNATTENDED=1, e.g. via shim) and a step's on_fail: block gate fires, the workflow parks in waiting and emits wf.needs_human instead of failing/hanging. The detached session stops cleanly. This skill resumes it once you've resolved the gate.

Steps

  1. See what it's waiting on:
python3 "${CLAUDE_PLUGIN_ROOT}/core/cli.py" status --json

Look for "status": "waiting". The most recent wf.needs_human event names the parked step and the reason:

python3 "${CLAUDE_PLUGIN_ROOT}/core/cli.py" query --type wf.needs_human --last 1
  1. Resolve whatever the gate flagged (fix the code, answer the question, etc.).

  2. Resume — flips the workflow back to running at the parked step:

python3 "${CLAUDE_PLUGIN_ROOT}/core/cli.py" resume "<what you resolved>"
  1. Advance the (now running) step as normal with /wf-step complete (or /wf-run-step if it has an executor).

Notes

  • resume only works on a waiting workflow; it errors otherwise.
  • waiting is a valid stop state, so a parked workflow never blocks a session from ending.
  • It survives weft rebuild (replayed from wf.needs_human / wf.resumed).

Signals

GitHub stars
27
Forks
1
Last commit
Aug 2026
Advanced
Item type
skill
Key
wf-resume
Source
github.com/dioptx/weft