About Pi TaskExec
Pi TaskExec is an MCP worker runtime that lets a supervising agent assign bounded tasks to local Pi coding-agent processes. It supports investigation, analysis, implementation, and verification, while allowing the supervisor to work directly when delegation is not worthwhile.
Key features
- 01Spawn and manage local Pi workers
- 02Bounded wait for worker status
- 03Steer, continue, cancel, and release tasks
- 04Read-only and read/write capability profiles
- 05Setup for Codex, Zed, and OpenCode
Use cases
- 01Delegate an independent investigation
- 02Assign implementation and verification work
- 03Use separate model resources for planning and execution
- 04Keep execution details out of the main agent context
MCP support
Pi TaskExec exposes local Pi worker lifecycle and task controls through MCP. Supervising agents can spawn, inspect, steer, continue, cancel, and release workers.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
6Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| cwd | string | Yes | Absolute working directory inside PI_WORKER_ALLOWED_ROOTS. |
| mode | enum | Yes | direct uses this checkout; worktree isolates edits. Parallel implement workers must use separate worktrees.direct | worktree |
| task | string | Yes | One bounded task with a clear scope and expected result. |
| model | string | No | Optional model override for this worker only. When omitted, Pi chooses its locally configured default. The value must resolve to a model available in this worker's local Pi environment. |
| profile | enum | No | inspect is read-only and may share a checkout; implement can write files.inspect | implement |
| taskTimeoutMs | integer | No | Optional activity-cycle deadline in milliseconds. |
Details
From the project READMEPi TaskExec
Pi TaskExec lets a supervising agent assign bounded, independent investigation, analysis, implementation, and verification tasks to local Pi workers through MCP. The agent can also work directly when delegation would add more overhead than value.
The project grew out of the author's own workflow: using different models or subscription plans for planning and review versus execution. If you also have multiple AI coding subscriptions or model resources, you can try this division of work to make better use of them and keep execution details from crowding the main agent's context.
The author is still evaluating how this approach affects context usage, total token consumption, and actual costs; savings are not guaranteed. It addresses the author's own collaboration needs and may help others with similar workflows. You're welcome to try it and share your experiences, alternative views, or suggestions via Issues.
Highlights
- Runs tasks on local Pi using its locally configured default model, with optional per-worker
modelandthinkingoverrides. - Full worker lifecycle: spawn, status with bounded wait, steer, continue, cancel (
pi_abort), and release (pi_release), plus list. - Read-only
inspect(default) and read/writeimplementcapability profiles. - The Supervisor chooses the working directory; the MCP verifies authorization but never creates worktrees or branches.
- One unified MCP +
pi-delegateSkill setup with keyboard multi-select across Codex, Zed, and OpenCode.
Requirements
- Node.js >= 22.20
- An installed and configured
piexecutable
Quick start
From the project you want to configure, run the unified setup:
npx -y @zguiyang/pi-task-exec@latest setup
v0.3.1 is the current published release. This checkout prepares v0.4.0 with updated delegation guidance and multi-host CLI flows. The v0.3.0 worker-interface changes still apply; if you are upgrading from v0.2.2, follow the v0.3.0 migration notes.
On a TTY it opens a keyboard multi-select for the hosts (codex, zed,
opencode) plus a single scope (project or global), then runs and prints
a concise result; a routine run does not print the full plan and does not ask
for a Proceed? confirmation. Use --dry-run for the full plan (paths,
conflicts, warnings) and --json for stable machine-readable detail. The
pi-delegate Skill is installed from this repository (skills/pi-delegate)
at the matching release tag through the pinned Skills CLI [email protected].
Selections can also be given up front: --host may be repeated for several
hosts, and exactly one --scope applies to the whole run:
npx -y @zguiyang/pi-task-exec@latest setup --host codex --host zed --scope project
Restart each selected host afterward, grant project trust if asked, and
verify that pi_list is available inside the host.
Commands
npx -y @zguiyang/pi-task-exec@latest update
npx -y @zguiyang/pi-task-exec@latest uninstall
npx -y @zguiyang/pi-task-exec@latest doctor
npx -y @zguiyang/pi-task-exec@latest doctor --probe
setup, update, and uninstall share the same keyboard multi-select of
hosts and one scope, and also accept repeated --host flags. update
replaces the managed MCP entry and Skill files, so previously configured
custom settings must be supplied again.
uninstall removes only the managed pi-task-exec MCP entries for the
selected hosts and scope. The shared pi-delegate Skill is retained by
default; it is removed only when that removal is explicitly requested, which
prints a warning and reports the known hosts that still reference it first.
For a non-interactive run, add --remove-skill to request that removal.
The existing add and remove subcommands (add mcp, add skill,
remove mcp, remove skill) remain available as single-target commands.
doctor is read-only; --probe checks the package runtime only and never
creates a worker.
Learn more
- Full usage reference: docs/usage.md
- v0.4.0 release notes: docs/release-v0.4.0.md
- v0.3.1 release notes: docs/release-v0.3.1.md
- v0.2.2 → v0.3.0 migration: docs/usage.md
- Delegation policy: skills/pi-delegate/SKILL.md
- License: LICENSE
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.