This tool allows an LLM to list git branches in the repository using
gert::git_branch_list(), equivalent to git branch in the terminal.
btw_tool_git_branch_list(include = c("local", "remote", "all"), `_intent` = "")Once of "local" (default), "remote", or "all" to filter
branches to local branches only, remote branches only, or all branches.
An optional string describing the intent of the tool use. When the tool is used by an LLM, the model will use this argument to explain why it called the tool.
Returns a character table of branches.
withr::with_tempdir({
gert::git_init()
gert::git_config_set("user.name", "R Example")
gert::git_config_set("user.email", "ex@example.com")
fs::file_touch("hello.md")
gert::git_add("hello.md")
gert::git_commit("Initial commit")
gert::git_branch_create("feature-1")
gert::git_branch_create("feature-2")
# What the LLM sees
cat(btw_tool_git_branch_list()@value)
})
#> feature-1 [2025-11-18 14:33:39]
#> feature-2 [2025-11-18 14:33:39]
#> master [2025-11-18 14:33:39]