waywf

Stop agents from abandoning unfinished background work.

Packages

Package details

extension

Install waywf from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:waywf
Package
waywf
Version
0.2.3
Published
Aug 27, 2026
Downloads
435/mo · 7/wk
Author
4ier
License
MIT
Types
extension
Size
7 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./adapters/pi/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

WAYWF

What Are You Waiting For? prevents coding agents from stopping while tracked tasks or subagents are still unfinished.

WAYWF has one platform-neutral state machine and thin adapters for Pi, Codex, and Claude Code. It uses lifecycle events, not prose matching.

Pi

pi install npm:waywf

Codex and Claude Code

Install the executable:

npm install --global waywf

Install the matching adapter configuration:

Use adapters/codex/hooks.json as ~/.codex/hooks.json, or merge adapters/claude-code/settings.json into ~/.claude/settings.json.

These files are templates. Do not overwrite an existing configuration; merge the hooks object. Codex requires new hooks to be reviewed with /hooks before they run.

How it works

Each adapter normalizes lifecycle events into two counters:

  • TaskCreated / TaskCompleted
  • SubagentStart / SubagentStop

A Stop event is blocked while either counter is non-zero. State is stored per session under ~/.waywf/ and removed on SessionEnd. Set WAYWF_STATE_DIR to override that location for testing or sandboxed installations.

Verified runtimes

  • Pi 0.84.3: package installation and an asynchronous subagent continuation were exercised end to end.
  • Codex CLI 0.144.4: hook discovery and a blocked Stop continuation were exercised end to end.
  • Claude Code: configuration is provided but was not exercised locally because Claude Code was unavailable.

Test

npm test

License

MIT