Workspaces & permissions
clishake isolates edits by default, detects overlap, and keeps integration as an explicit human decision.
Worktree per editing agent
When a project is a Git repository and an agent can modify files, clishake creates a branch and worktree dedicated to that agent:
your-project/ # lead + read-only agents
└── .clishake/worktrees/claude/ # branch clishake/claude
└── .clishake/worktrees/codex/ # branch clishake/codexThe lead integrates finished branches. Agent removal never deletes worktrees or branches; cleanup is always explicit.
clishake detects files changed by multiple live agents and emits repo.conflict_detected. It reports overlap; it never auto-resolves a conflict.
Permission profiles
clishake enforces actions that pass through its coordination layer. Third-party harnesses run as your OS user; their internal tool permissions must be configured in the harness itself.
Teams and coordinator agents
Teams shape briefings and message routing. Use @team:name to address a group, or assign an agent the first-class coordinator role to triage tasks and report status without editing files.
$ clishake agent add coordinator --adapter claude-code \\
--role coordinator --task "Triage, assign, and report"
$ clishake agent set codex --team reviewersApproval gates
Structured adapters can request a human decision. The agent moves to awaiting_approval; the lead grants or denies, and the decision is both evented and messaged back.
$ clishake approvals
$ clishake approvals grant ap_1a2b3c4d