| name | team-stop |
| description | Shutdown the active native Claude Code team, notify teammates, and cleanup |
| level | 2 |
Shutdown the active native Claude Code team: notify teammates, cleanup team and task files.
Usage: /team-stop
Steps
-
Read team state from .claude/.omh/teams.json.
If the file doesn't exist or is empty, report "No active team." and exit.
-
Check task completion: Call TaskList to see if there are incomplete tasks.
If there are in_progress or pending tasks, warn the user via AskUserQuestion:
Team '{teamName}' has {N} incomplete task(s):
- [{status}] {subject} ({owner})
- ...
What would you like to do?
continue โ let teammates finish their work
stop โ shutdown now (incomplete tasks will be abandoned)
cancel โ abort, do nothing
- If the user says
continue, exit without stopping.
- If the user says
cancel, exit without stopping.
- If the user says
stop, proceed with shutdown.
- Never silently discard incomplete work.
-
Send shutdown requests: Use SendMessage to broadcast a shutdown request to all teammates:
{ "to": "*", "message": { "type": "shutdown_request", "reason": "Team shutdown requested by user" } }
-
Delete team: Call TeamDelete to remove team and task directories.
-
Clean up OMH state: Delete .claude/.omh/teams.json using the Bash tool:
rm -f .claude/.omh/teams.json
-
Report cleanup summary:
Team '{teamName}' has been shut down.
Tasks completed: {completed}/{total}
Teammates stopped: {list of names}
Team files cleaned up.
Policies
- Always warn about incomplete tasks โ never silently discard in-progress work
- Require explicit user confirmation before stopping with incomplete tasks
- Use broadcast SendMessage for shutdown (more efficient than individual messages)
- Clean up both native team files and OMH state โ leave no orphaned state
- If TeamDelete fails, explain why and suggest remediation