Skip to main content

Overview

Git tools let the agent inspect and modify version control state. All tools check for git availability at startup and report a helpful error if git is not installed. Operations run in the conversation’s workdir, or a custom path you specify.
Git tools are config-gated: they check for git binary availability at startup and mark themselves unavailable if git is not found. This prevents confusing errors when profClaw runs in containers without git.

Tools

git_status

Show working tree status. Security level: safe | Tier: Essential
path
string
Repository path. Defaults to workdir.
short
boolean
Show short format output.
{ "path": "/home/user/my-project" }

git_diff

Show changes between commits, working tree, and staging area. Security level: safe | Tier: Standard
path
string
Repository path.
file
string
Diff a specific file only.
staged
boolean
Show staged (cached) changes.
commit
string
Compare against a specific commit hash or ref.
{ "staged": false }

git_log

Show commit history. Security level: safe | Tier: Standard
path
string
Repository path.
count
number
default:"10"
Number of commits to show.
oneline
boolean
default:"true"
Show one-line format (hash + subject).
author
string
Filter commits by author name or email.
since
string
Show commits since a date (e.g., "2 weeks ago", "2026-01-01").

git_commit

Stage and commit changes. Security level: moderate | Tier: Standard
message
string
required
Commit message.
path
string
Repository path.
all
boolean
Stage all modified tracked files (git commit -a).
amend
boolean
Amend the previous commit.
{
  "message": "feat: add exponential backoff to retry logic"
}
Amending commits that have already been pushed to a shared branch will require a force push, which is dangerous. Use with caution.

git_branch

List, create, delete, or checkout branches. Security level: moderate | Tier: Standard
path
string
Repository path.
list
boolean
List all local branches.
create
string
Create a new branch with this name.
delete
string
Delete a branch by name.
checkout
string
Switch to a branch by name.
{ "list": true }

git_stash

Manage the git stash. Security level: moderate | Tier: Full
action
string
required
Action to perform: push, pop, list, show, drop, clear.
message
string
Stash description (for push action).
index
number
Stash index for pop, show, or drop.
path
string
Repository path.

git_remote

Fetch, pull, or push to a remote. Security level: moderate | Tier: Full
action
string
required
Remote action: fetch, pull, push.
remote
string
default:"origin"
Remote name.
branch
string
Branch name.
force
boolean
Force push. Use with extreme caution - never against protected branches.

Safety Rules

The git tools follow these safety rules automatically:
  • git_remote with force: true will warn before executing
  • The git_commit tool never commits .env, *.key, or *.pem files
  • Branch deletions require an explicit delete parameter - no accidental deletes