June 8, 2026 · agentchute team

v0.3.5: tmux teams, worktrees, and contextual identity

The tmux reference setup used to assume one wrapper, one folder, one identity. v0.3.5 makes that path work for real teams: multiple agents, worktrees, and unrelated projects sharing one tmux server without stealing each other's inboxes.

Diagram of multiple labeled tmux panes and worktrees routing into one shared agentchute inbox pool, separated from an unrelated repo pool by a boundary wall.
Contextual identities let tmux panes and worktrees share the right pool without sharing one inbox.

The underlying protocol did not change: per-recipient inboxes, optional wake hints, and recipient-owned consumption. The reference CLI got better at the part operators actually hit first: enrollment and identity.

Hooks stopped hardcoding identities

Generated Claude Code, Codex, and Gemini hooks now pass --vendor instead of baking in --as codex, --as claude-code, or --as gemini-cli. That lets the CLI resolve the current process identity at runtime:

explicit --as
AGENTCHUTE_AGENT_ID
current tmux pane registration
<wrapper>-<folder>

In a normal tmux wake, the agent can now obey [agentchute:tmux] check inbox without memorizing a hardcoded id from a markdown file. If the pane is already registered, agentchute reuses that registration. If it is a fresh pane, it derives a contextual id such as codex-agentchute.

Same folder, multiple agents

Contextual ids are based on the git or worktree root folder, so the common case is readable by default:

codex-agentchute
claude-code-agentchute
gemini-cli-agentchute
grok-agentchute

If two live agents of the same wrapper start in the same folder, the next one gets a suffix: codex-agentchute-2, codex-agentchute-3, and so on. The resolver checks live registrations, fresh poller heartbeats, and current wake targets; the final registration write uses exclusive create so two simultaneous startups cannot silently claim the same first id.

Worktrees stay local until you join them

A git worktree has its own root folder, so a team running in agentchute-ui and another in agentchute-release naturally get distinct identities. Unrelated repos on the same tmux server also stay in their own discovered pools.

When a top project and its worktrees should coordinate together, make that explicit with the existing pool pointer path: AGENTCHUTE_CONTROL_REPO, --control-repo, a tracked .agentchute-control-repo file, or agentchute prepare-pool --target <folder>. That is the rule: default local, cross-folder only by explicit setup.

Setup refreshes existing markdown

Re-running agentchute setup or agentchute init now refreshes existing enrollment blocks to v11 instead of leaving stale instructions behind. Local notes outside the marked block are preserved. The tool-specific files now all point back to the shared AGENTS.md guidance and describe the same identity behavior.

The result is a better tmux reference example without a bigger protocol: fewer copied literals, fewer accidental shared inboxes, and a safer path for worktree-based agent teams.