Skip to main content
command

worktree-check — Claude Code command: worktree status and task

Tells you which worktree you are in, what branch is checked out, how far ahead of main you are, and what task is assigned.

Install into Claude Code · claude-code-templates All methods and platforms ↓
npx claude-code-templates@latest --command git-workflow/worktree-check
Open on GitHub

What worktree-check does

The command inspects your worktree environment and prints a summary. First it figures out where you are: the main working tree or a separate one. If you are in the main repo, it points you to /worktree-init to create worktrees and lists the ones that already exist.

Next it reads the current branch and checks the name against the claude/*, claude-daniel/* or review/* convention. Then it counts commits ahead of origin/main. After that it looks for .worktree-task.md in the worktree root and shows the task description. No file means no task was found, which can happen if it was written by hand.

Finally you get git status --short and git diff --stat: modified, staged and untracked files. Everything lands in one summary with branch, task, commit count and file counts. If changes look ready, the command suggests running /worktree-deliver. It only uses git and file reads, so it does not touch your repository.

What it helps with

  • figure out which worktree the terminal is sitting in
  • confirm the branch follows the naming convention
  • count commits ahead of origin/main
  • read the assigned task from .worktree-task.md
  • size up uncommitted changes before delivering

Example prompts for the agent

  • /worktree-check
  • show the status of the current worktree and its task
  • check the branch and how many commits ahead of main we are

How to install worktree-check

1claude-code-templates

npx claude-code-templates@latest --command git-workflow/worktree-check

2Manually: put the files in place

.claude/commands/worktree-check.md

Call it with /worktree-check. For all projects use ~/.claude/commands/

Questions about worktree-check

How do I install worktree-check in Claude?

Through the templates package: npx claude-code-templates@latest --command git-workflow/worktree-check. The command lands in .claude/commands/worktree-check.md.

What does worktree-check do?

It reports whether you are in a worktree or the main repo, the active branch, commits ahead of origin/main, the contents of .worktree-task.md, and the state of your working copy.

Which files does worktree-check read?

The task file .worktree-task.md in the worktree root. If it is missing, the command says so and moves on to the git status.

Source text

worktree-check.md · MIT
---
allowed-tools: Bash(git:*), Bash(cat:*), Bash(pwd:*), Bash(ls:*)
description: Check current worktree status, branch, and assigned task
---

# Worktree Status Check

Verify the current worktree environment and show task details.

## Instructions

You are inside a worktree (or the main repo). Gather and display the current status clearly.

### Step 1: Detect Worktree

1. Get the current directory: `pwd`
2. List all worktrees: `git worktree list`
3. Determine if the current directory is a worktree (not the main working tree). The main working tree is listed first in `git worktree list` output — if the current path matches the first entry, this is the main repo, not a worktree.

If this is **not** a worktree, inform the user:
> You're in the main repository, not a worktree. Use `/worktree-init` to create worktrees.

Then list any existing worktrees and exit.

### Step 2: Show Branch Info

1. Get current branch: `git branch --show-current`
2. Verify it follows the `claude/*`, `claude-daniel/*`, or `review/*` naming convention
3. Show how many commits ahead of origin/main: `git rev-list --count origin/main..HEAD`

### Step 3: Read Task

1. Check if `.worktree-task.md` exists in the worktree root
2. If it exists, read and display its contents
3. If it doesn't exist, note that no task file was found (may have been created manually)

### Step 4: Show Working Status

Run and display:
1. `git status --short` — show modified, staged, and untracked files
2. `git diff --stat` — show a summary of unstaged changes

### Step 5: Display Summary

Present a clean summary:

```
Worktree Status
──────────────────────────────────
Branch:    claude/<name>
Task:      <task description from .worktree-task.md>
Commits:   <N> ahead of main
Modified:  <N> files
Staged:    <N> files
Untracked: <N> files
──────────────────────────────────
```

If there are changes ready to deliver, suggest: "Run `/worktree-deliver` when you're ready to commit, push, and create a PR."

© davila7 · MIT · davila7/claude-code-templates

Similar slash commands

All slash commands for Git and GitHub →

From the same set205

The whole set →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor