Claude Code Plugin
Spawn autonomous agents that run in the background.
Taskpilot launches long-running Claude Code sessions in tmux. Each task gets its own channel for real-time communication. Crash recovery built in.
Some tasks take hours. You shouldn't have to watch.
Research projects, monitoring jobs, multi-step workflows -- they need an agent that can run autonomously, report back, and recover from crashes without your intervention.
Taskpilot spawns each task in its own tmux session with a dedicated channel MCP. Send it an operating brief and walk away. Check status, send messages, or kill tasks from your main session.
/taskpilot:spawn
what should this agent do?
> research competitor pricing for B2B invoicing tools
creating task: competitor-pricing-research
allocating port 9102, registering channel...
agent spawned. running autonomously.
use /taskpilot:status to check progress.
How autonomous tasks work.
Create
Define the task with objectives, workflows, success criteria, and boundaries. An operating brief gives the agent everything it needs to work independently.
Spawn
Launches a tmux session running Claude with its own channel MCP. The initial prompt is posted to the channel. The agent starts working immediately.
Monitor
Check status dashboards and send messages with verified delivery. Status is reconciled against tmux ground truth on every read — a crashed agent reads as crashed, never as running.
Capabilities declared in the operating brief are auto-resolved via softwaresoftware. The agent's instructions are dynamically generated.
Built for reliability.
Idempotent lifecycle
Define with PUT, then start and stop are convergent: start means “ensure running”, stop means “ensure stopped”. Every call is safe to retry.
One-call revival
If an agent dies — crash, reboot, context exhaustion — one idempotent start call respawns it, with an optional resume prompt so it picks up from its saved state.
Real-time channels
Messages route through the session mesh with end-to-end verified delivery — a message that never reached the agent never reads as sent.
Truthful status
Every read reconciles the stored status against tmux ground truth: defined, running, crashed, stopped. No zombie “running” rows, ever.
Your full environment
Each spawned agent inherits your real Claude setup — global CLAUDE.md, rules, installed plugins, and MCPs — plus a per-task brief generated into its working directory.
Reusable task ids
Stop keeps the row for a later restart; delete frees the id entirely. Define, start, stop, message, delete — every verb is idempotent.
Persistent pane logs
Tmux pane output is teed to ~/.taskpilot/<id>/pane.log via tmux pipe-pane. Read agent history with get_task_log long after the session has ended. Soft size cap with head-truncation; configurable via TASKPILOT_PANE_LOG_MAX_BYTES.
SQLite + local storage
Task database, configs, and state files all live in ~/.taskpilot/. Everything on your machine, nothing in the cloud.
Install
Requires Claude Code, Python 3.11+, Node.js, and tmux.
Add the marketplace
claude plugin marketplace add softwaresoftware-dev/softwaresoftware-plugins
Run in your terminal.
Install the installer
claude plugin install softwaresoftware@softwaresoftware-plugins
Run in your terminal.
Launch Claude Code
claude
Start a new session so the installer is available.
Install taskpilot + dependencies
/softwaresoftware:install taskpilot
Run inside Claude Code. Run /reload-plugins when done.
Spawn your first agent
/taskpilot:spawn
Run inside Claude Code after reloading plugins.