Reference

Agent tools

What each tool an agent can call actually does, and which roles typically hold it.

Every agent — a role agent or one you built yourself — acts through a fixed set of named tools. A tool policy decides which of these a given agent may call; this page describes what each tool does. "Typically held by" reflects the default role policies TaskTrooper ships with (backend-developer, frontend-developer, mobile-developer, system-architect, qa-agent, product-manager) — your own agents and custom agents can be granted any subset.

Shell and files

ToolWhat it doesTypically held by
run_terminalRuns a shell command in the workspace, combined stdout/stderrDeveloper roles, system-architect, qa-agent
read_fileReads a workspace file with line numbers (up to 800 lines a call)Every tool-scoped agent, including on unindexed repositories
write_fileCreates or overwrites a fileWhichever roles hold run_terminal (they travel together)
edit_fileFinds old_string and replaces it with new_string, once or everywhereSame roles as write_file
edit_linesReplaces, inserts after, or deletes a range of line numbersSame roles as write_file
delete_fileDeletes a file, or a directory with recursive: trueSame roles as write_file
move_fileRenames or moves a fileSame roles as write_file

.git and the workspace root itself are refused for every write tool.

Web

ToolWhat it doesTypically held by
fetch_urlHTTP GET, HTML responses stripped to visible textEvery role that holds roleWebTools — developers, product-manager, system-architect, qa-agent
download_fileDownloads a binary asset (image, font, icon) into the workspaceRides with the workspace write tools; lost in review/QA verdict columns
web_searchKeyless web search (DuckDuckGo, falling back to Bing)Same roles as fetch_url
search_boilerplate_catalogSearches the shared boilerplate repository for a starter stack to copy instead of writing one from scratchDeveloper roles

Code exploration

Read-only, and available even on a repository with no semantic index yet.

ToolWhat it doesTypically held by
codebase_searchSemantic search over the indexed codebaseDeveloper roles, system-architect (not qa-agent — QA is deliberately black-box)
grep_codeLiteral/regex search over the indexed codebaseDeveloper roles, system-architect, and qa-agent (QA's one code-lookup exception, for finding a start command or a route)
get_repo_treeASCII directory tree of the repositorySame as grep_code
get_symbol_skeletonSignatures of a file or symbol without the full bodyDeveloper roles, system-architect
expand_symbol_contextPulls in the callers/callees around a symbol (dependency-graph BFS)Developer roles, system-architect

Board

ToolWhat it doesTypically held by
list_board_tasksLists tasks on the board (repository-scoped)Every role
list_ready_tasksThe unblocked backlog/todo queue, priority-sortedEvery role
create_board_taskCreates a taskproduct-manager (and any agent granted roleBoardCreateTools)
move_board_taskMoves a task to another columnEvery role
update_board_taskUpdates a task's fields (including before_deploy/after_deploy/rollback_plan)Every role
claim_board_taskClaims an unassigned taskEvery role
delete_board_taskPermanently deletes a task and everything on itproduct-manager only
add_task_commentComments on a taskEvery role
list_task_commentsReads a task's commentsEvery role
add_task_documentAttaches a document (spec, plan) to a taskproduct-manager, system-architect (create roles)
update_task_documentEdits an attached documentSame as add_task_document
list_task_documentsReads a task's attached documents in fullEvery role
attach_task_fileLinks an already-uploaded file to a taskproduct-manager, system-architect
list_acceptance_criteriaReads a task's acceptance criteriaEvery role
set_criterion_completedMarks a criterion doneDeveloper roles (whichever role implements it)
cancel_criterionDrops a criterion from scope with a reasonSame roles as set_criterion_completed
review_criterionRecords a reviewer's own verdict on a criterionproduct-manager (PM UAT), qa-agent
record_test_casesWrites the QA test round for a taskqa-agent only
set_test_case_resultUpdates one test case's resultqa-agent only
list_test_casesReads the recorded test roundEvery role
get_pipeline_statusReads the most recent QA-gate pipeline runDeveloper roles, system-architect, qa-agent
get_board_summaryBoard-wide counts and statusEvery role
list_projects / create_project / update_projectInitiative projectsRead: every role. Write: product-manager
list_repositoriesLists registered repositoriesEvery role
set_repository_projectsLinks a repository to projectsproduct-manager
list_teamLists board member agentsEvery role
update_project_profileWrites the judgment half of a repository's project profile (purpose, conventions, invariants, danger zones)system-architect, developer roles

Pull requests

ToolWhat it doesTypically held by
get_task_pull_requestReads a task's PR: state, files, review comments, diffDeveloper roles, system-architect, qa-agent, product-manager (read-only)
commit_task_changesCommits, pushes to the task branch, opens the PR if needed — the only way a chat's edits reach GitHubDeveloper roles only
comment_on_pull_requestPosts a PR comment, or replies inside a review threadDeveloper roles, system-architect
merge_task_pull_requestSquash-merges the task's PR and deletes the branchqa-agent only, and only in the Done column

See Git and pull requests for the full merge refusal matrix.

Deploy

ToolWhat it doesTypically held by
trigger_releaseDispatches the production deploy for a task in DoneWhichever role your board wakes on Done (typically qa-agent)
get_task_deploy_statusReports what production did with a task's merge commitqa-agent only
get_deploy_logsReads the log behind a deploy, summarizedqa-agent only
rollback_task_releaseUndoes a task's releaseqa-agent only, and only in Done/Released
list_deploy_templatesLists the deploy recipe catalogqa-agent, product-manager (via get_deploy_target)
load_deploy_templateReads one recipe in fullSame as above
get_deploy_targetHow a repository ships to an environmentqa-agent, product-manager
update_deploy_targetRecords the address an environment actually answers at (base_url/health_url/logs_url/app_url only)qa-agent, product-manager
record_local_deployRecords a break-glass deploy run made from a machine directly, so the Deployments page still reflects itOps-facing agents with board/deploy write access

See Deploy targets and recipes.

Production incidents

ToolWhat it doesTypically held by
list_incidentsLists live production incidentsOps-facing agents
get_incidentFull incident: alert payload, timeline, occurrences, remedyOps-facing agents
propose_incident_remedyRecords a diagnosis: kind, steps, evidence, confidenceOps-facing agents
resolve_incidentCloses an incident after verifying recoveryOps-facing agents

See Production incidents.

Browser

Loopback-only (a developer starting its own dev server on 127.0.0.1 is the intended use — see the outbound URL guard in Data directory and security).

ToolWhat it doesTypically held by
browser_navigateOpens a URLDeveloper roles, system-architect, qa-agent, product-manager
browser_screenshotCaptures the current pageSame
browser_clickClicks an elementSame
browser_fillFills a form fieldSame
browser_read_domReads the page's DOM/textSame
browser_wait_forWaits for a condition on the pageSame
browser_set_viewportChanges the viewport sizeSame

Mobile

Drives one device from the shared device park (mobile.Pool) — the first mobile_* call in a run claims a free device, and every later call in that run stays on it. Registered at all only when a device is attached; see Mobile devices and store releases.

ToolWhat it doesTypically held by
mobile_launch_appInstalls/launches the app on the claimed deviceqa-agent, mobile-developer, product-manager (UAT)
mobile_screenshotCaptures the device screenSame
mobile_read_uiReads the current screen's UI treeSame
mobile_tapTaps a coordinate or elementSame
mobile_type_textTypes into the focused fieldSame
mobile_swipeSwipes the screenSame
mobile_wait_forWaits for a condition on the deviceSame
mobile_press_buttonPresses a hardware/system button (back, home)Same
mobile_rotateRotates the device orientationSame
mobile_unlock_deviceUnlocks the device screenSame
mobile_release_deviceEnds the Appium session; leaves the simulator running for the next taskSame

Memory

ToolWhat it doesTypically held by
save_memoryStores a memory for future runs of this agentEvery role
search_memorySearches stored memoriesEvery role
delete_memoryDeletes a stored memoryEvery role

See Memory.

Skills

ToolWhat it doesTypically held by
load_skillLoads a skill's instructions into the runEvery role
create_skillWrites a new skillEvery role that holds load_skill (same policy set)

See Skills and rules.

MCP servers

MCP tools are named mcp_<server_id>_<original_tool_name>; their parameters and descriptions come straight from the MCP server's own tool definitions. GET /v1/tools shows which are currently active. See MCP servers for adding one.

The reverse direction also exists: a Claude Code CLI session TaskTrooper spawns gets the registry's own tools back over /mcp, named mcp__tasktrooper__<name> — this is how a headless claude run gets list_board_tasks, commit_task_changes, and the rest, without the repository's own checked-in .mcp.json ever being loaded.

Edit this page on GitHub