Built with Rust
AI-Native

From ticket to PR
in one command.

Run 5 AI agents in parallel — zero index.lock conflicts. git-parsec gives every agent its own isolated worktree, tied to your issue tracker. No retries, no wasted tokens, no merge chaos.

parsec -- zsh
# Run 5 AI agents in parallel — no lock conflicts $ parsec start CL-2283 Created worktree for CL-2283 Title: Collect HeuristicCompletionException handling Branch: feature/CL-2283 Path: ../myproject.CL-2283   # Each agent gets its own isolated worktree $ parsec start CL-2290 Created worktree for CL-2290   # Ship it -- push, create PR, cleanup $ parsec ship CL-2283 Pushed feature/CL-2283 PR created: github.com/org/repo/pull/42 Worktree cleaned up  
Git wasn't built for
AI agent workflows.

When AI agents run in parallel on the same repo, they collide on .git/index.lock — crashing mid-task, burning tokens on retries, and leaving broken state. Worktrees solve isolation, but lack the lifecycle management agents need.

Without parsec
  • Lock contention

    Parallel git operations collide on .git/index.lock, blocking agents and developers.

  • Manual worktree management

    Create branch, add worktree, remember paths, clean up manually. Error-prone and tedious.

  • No ticket connection

    Branches and worktrees have no link to your issue tracker. Context gets lost.

  • Invisible conflicts

    Parallel work silently edits the same files. You only find out at merge time.

With parsec
  • Zero-conflict parallelism

    Each ticket gets its own isolated worktree. No lock contention, ever.

  • One-command lifecycle

    parsec start creates everything. parsec ship pushes, PRs, and cleans up.

  • Ticket tracker integration

    Jira and GitHub Issues built in. Branches auto-named, PR titles auto-filled.

  • Early conflict detection

    parsec conflicts warns when worktrees touch the same files -- before you merge.

  • Full operation history

    parsec log shows everything parsec has done. parsec undo rolls back the last step if something goes wrong.

From ticket to PR in 60 seconds.
git-parsec demo showing start, list, switch, log, undo, and clean commands
Everything you need.
Nothing you don't.

A focused toolset for the complete worktree lifecycle -- from creating isolated workspaces to shipping production-ready PRs.

More features — 16 additional capabilities
Branch syncparsec sync rebases or merges the latest base branch into one or all worktrees.
Operation historyparsec log shows every action with timestamps; filter by ticket or last N.
Undoparsec undo reverses the last start / ship / clean. Use --dry-run to preview.
Open in browserparsec open launches the PR or ticket page (GitHub / GitLab / Jira / Bitbucket).
Worktree diffparsec diff compares any worktree to its base branch (--stat, --name-only).
Compress branchparsec compress squashes commits into one tidy commit before shipping.
PR template auto-fillship --template reads .github/PULL_REQUEST_TEMPLATE.md.
Reviewers + labelsship --reviewer / --label at PR creation time, or set defaults in config.
Draft-by-default[ship].draft = true opens every PR as a draft for WIP review.
Pre-ship hooks — run cargo test, npm run lint, etc. before ship via [hooks].pre_ship.
Sprint boardparsec board renders the active Jira sprint as a Kanban board in the terminal.
Issue creationparsec create / new-issue opens tickets in your tracker; --start immediately creates a worktree.
Release workflowparsec release merges develop → main, tags, and creates a GitHub Release.
Policy guard[policy] blocks ships to protected branches and restricts allowed targets.
Headless mode--yes and TTY auto-detection skip prompts in CI / agent environments.
Cross-platform — Linux / macOS / Windows. Windows UNC path handling via the dunce crate.
See the full command reference for every flag and example, or read the getting started guide.
How parsec stacks up.

parsec fills the gap between bare git worktree commands and tools that don't connect to your issue tracker.

Feature parsec worktrunk git worktree git-town GitButler
Ticket tracker integration Jira + GitHub Issues -- -- -- --
Physical isolation (worktrees) Yes Yes Yes -- Virtual branches
Cross-worktree conflict detection Yes -- -- -- --
One-step ship (push + PR/MR + clean) GitHub + GitLab -- -- Yes --
Operation history & undo Yes -- -- Yes (undo) Yes
JSON output for AI agents Yes -- -- -- Yes
CI monitoring Yes (--watch) -- -- -- --
Stacked PRs Yes -- -- Yes Yes
Post-create hooks Yes Yes -- -- --
Auto-cleanup merged worktrees Yes -- Manual -- --
Forge support GitHub + GitLab GitHub -- GH, GL, Gitea, BB GitHub + GitLab
Zero config start Yes Yes -- -- --
Up and running in 60 seconds.

Three commands from install to your first PR.

01

Install

Install via cargo. A single binary, no runtime dependencies.

cargo install git-parsec
02

Configure

Run interactive setup. Enable shell integration for auto-cd and merge recovery.

parsec config init
eval "$(parsec init zsh)"
03

Start building

Create a worktree from any ticket. Code, commit, and ship when ready.

parsec start PROJ-42
full workflow demo
# Create isolated workspace from Jira ticket $ parsec start CL-2283 Created worktree for CL-2283 Branch: feature/CL-2283 Path: ../myproject.CL-2283   # Switch into the worktree $ parsec switch CL-2283 cd ../myproject.CL-2283   # ... do your work, commit as usual ...   # Check for conflicts with other worktrees $ parsec conflicts No file conflicts across 3 active worktrees   # Ship it -- push, create PR, cleanup $ parsec ship CL-2283 Pushed feature/CL-2283 (4 commits) PR #42 created: github.com/org/repo/pull/42 Worktree cleaned up
Install parsec.

A single Rust binary. No runtime dependencies, no node_modules, no Python virtualenvs.

Cargo cargo install git-parsec Available
Homebrew brew install git-parsec Coming soon
From source git clone && cargo build --release Available
Let your AI agents run.
Zero conflicts. Zero wasted tokens.

Join developers and AI teams who use parsec to run parallel agents on the same repo — isolated worktrees, no index.lock fights, fewer retries.

Star on GitHub
$ cargo install git-parsec