Accept plugin requirements against the runtime version or its stable core while preserving the legacy version boundary. Validate all example manifests, correct the ACP example metadata, and prepare plugin author documentation for the beta.
Lifecycle actions
Small callbacks using the existing SDK:
- Send
Try again.when the latest output containsout of credits. - Decline a shell request matching
rm -rf; approve exactlygit status; leave other requests alone. - Inject
PASEO_HOOK_CREATE_EXAMPLE=createdon creation andPASEO_HOOK_OPEN_EXAMPLE=openedon each session opening. - Change requested Codex agents to Claude Haiku before creation.
- Create a worktree when a directory creation request is titled
Isolated lifecycle example.
This is a demonstration plugin: installing it enables all these behaviors on its host. Install it
alongside lifecycle-logger on a test daemon with plugins enabled:
paseo plugin install /absolute/path/to/plugin-examples/lifecycle-actions
paseo plugin install /absolute/path/to/plugin-examples/lifecycle-logger
paseo plugin logs lifecycle-logger
Outside the Paseo repository, server/inspect.ts needs @getpaseo/protocol installed for its
type imports. Add it to your plugin development dependencies at the same version as
@getpaseo/plugin before installing this example.
Copy the callbacks you need into your own plugin. The follow-up example sends a new message; it does not replay attachments or undo previous tool effects. If the provider keeps returning the matching phrase, it keeps sending follow-ups. Add limits or delay in your plugin when your workflow needs them. The command regex illustrates a policy; it does not parse shell syntax or cover every deletion command.
server/inspect.ts joins provider text chunks and excludes earlier turns and the current user prompt
from the phrase match. The failing-first regression test records the split text observed with a real
Claude agent.
See agent configuration for a focused example that injects MCP servers and changes Codex sandbox and approval options while preserving other settings.
See the lifecycle reference for the API.