- 3 Team tools: coordinate a team (status, messaging, membership)
- 3 Process tools: run and monitor background commands (run, status, kill)
Quick reference
Team tools
gg_team_statusgg_team_messagegg_team_manage
Process tools
gg_process_rungg_process_statusgg_process_kill
Team tools
gg_team_status
Get current status for each team member.
Arguments
team_id(string, required): the team you want status for.
gg_team_message
Send a message scoped to a team.
This can be either:
- a direct message (one recipient), or
- a broadcast (everybody on the team).
team_id(string, required): the team to send into.recipient_agent_id(string, required):- set to an agent id for a direct message, or
- set to
broadcastto send to the whole team.
message(string, required): the text content.image_paths(string[], optional): paths to images on disk to attach after the text message (advanced).
gg_team_manage
Add or remove team members.
This tool supports two modes:
- Add member: omit
remove_agent_ids - Remove member(s): set
remove_agent_idsto a non-empty list of agent ids
- By default, membership changes are lead-driven.
- If you enable Preferences → General → Team Permissions, non-lead members can also add/remove members via
gg_team_manage(...). That’s what unlocks “delegation to delegation” (a member can add another member to take on a sub-task).
team_id(string, required)- Add-member options:
title(string, optional): a human-readable role label (for exampleReviewer,Docs,Frontend).prompt(string ornull, optional): extra onboarding context for the new member.image_paths(string[], optional): image files to attach to onboarding in-order after the onboarding text.model_preset(string ornull, optional): a named preset (see Model Presets).worktree_name(string ornull, optional): native worktree slug. When provided, gg derives branch/worktree/cwd from runtime settings. For create-new bootstrap timing and failure behavior, see Configure: Worktree Init.use_existing_worktree(boolean, optional): whentrue,worktree_nameis treated as an existing worktree to reuse instead of creating a new one.unsubscribe_from_compaction_notifications(boolean, optional): when omitted/false, the agent that adds the member will receive a timeline notice if that member’s chat is compacted. Set this to true if you don’t want compaction notices.
- Remove-member options:
remove_agent_ids(string[], required for remove mode): list of agent ids to remove.
remove_agent_idsswitches the call into remove mode and must contain at least one id.- In remove mode, add-only fields are rejected:
title,prompt,image_paths,model_preset,worktree_name,use_existing_worktree,unsubscribe_from_compaction_notifications. use_existing_worktree=truerequires a non-emptyworktree_name.
- No
worktree_name: gg does not create a new native worktree. worktree_nameset, withuse_existing_worktreeomitted orfalse: gg creates a new native worktree with that name. If.agents/gg/worktree-init.shexists in the new checkout, gg runs it before the session starts. See Configure: Worktree Init.worktree_nameset, withuse_existing_worktree=true: gg reuses an existing native worktree with that name. The worktree must already exist, and the init script does not run in this path.
Process tools
Process tools are how agents run long commands without blocking the conversation. They’re backed by the Process Manager, which:- captures logs with bounds,
- tracks ownership and status,
- and injects results back into the owning thread when the command exits.
gg_process_run
Run a shell command in the background and return immediately with a pid and process metadata.
Arguments
command(string, required): the shell command to run.cwd(string ornull, optional): working directory (when omitted, uses the session’s current context).timeout_ms(integer, optional): maximum lifetime in milliseconds;0disables timeout.
- The command runs in the background.
- You can watch it in the Process Monitor and/or query it with
gg_process_status. - When it exits, gg injects a structured completion result back into the thread that started it.
gg_process_status
Inspect a background process.
Arguments
pid(integer, optional): process id to inspect.- If omitted, gg lists caller-owned running processes (team-scoped when in a team).
head_lines(integer, optional): how many lines from the start of logs to include.tail_lines(integer, optional): how many lines from the end of logs to include.
gg_process_kill
Request termination of a background process started by the caller session.
Arguments
pid(integer, required)

