Customizable git worktree manager
Project description
autowt: a better git worktree experience
autowt is a git worktree manager designed for developers who juggle multiple tasks. It automates the creation, management, and cleanup of git worktrees, giving each branch its own dedicated directory and terminal session. This eliminates context-switching friction, letting you focus on your code.
While powerful for any developer, autowt is a game-changer for those working with command-line AI agents like Claude Code, Gemini CLI, or Codex. It provides the perfect environment for running multiple agents in parallel without interference.
Core features
Automated Worktree Management
autowt handles the entire lifecycle of your worktrees. It automatically creates them in a consistent directory structure, runs your setup scripts, and provides powerful cleanup tools to keep your workspace tidy.
Seamless Terminal Integration
Switching branches is as simple as typing autowt <branch-name>. autowt intelligently manages your terminal sessions, automatically switching to the correct tab or window, or creating a new one if needed.
AI Agent Ready
Isolate your AI agents in their own worktrees. Run multiple agents on different tasks simultaneously without them tripping over each other's work. autowt provides the perfect sandbox for parallel development and experimentation.
Effortless Cleanup
Keep your repository clean with autowt cleanup. It identifies and removes branches that are merged or have no remote counterpart, ensuring your workspace remains clutter-free.
Getting started
You'll need Python 3.10+ and a version of git released in the last decade (2.5+).
First, install autowt:
pip install autowt
Then, from within a git repository, create a new worktree for a new or existing branch:
autowt my-new-feature
Watch as autowt creates a new worktree and opens it in a new terminal tab or window, ready for you to start coding.
A typical workflow
- Start a new feature: Run
autowt new-feature. A new terminal tab opens in an isolated directory for that branch. - Get an urgent request: Don't stash! Just run
autowt hotfix/urgent-bug. A different terminal tab opens for the hotfix. - Finish the hotfix: Commit, push, and close the hotfix tab.
- Return to your feature: Run
autowt new-featureagain, andautowtwill switch you right back to the existing terminal tab for that feature. - Clean up: Once the hotfix branch is merged, run
autowt cleanupto remove the old worktree and local branch.
Dive deeper
For detailed guides on commands, configuration, and advanced workflows, check out the full documentation.
Contributing
Contributions are welcome! Please feel free to open an issue or submit a pull request.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autowt-0.3.2.tar.gz.
File metadata
- Download URL: autowt-0.3.2.tar.gz
- Upload date:
- Size: 140.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fabcb0275061ef7e82a482f9e97c805891cde0d20c5af9df1c6e76a18a2cd9e
|
|
| MD5 |
941f13db010d61828ae01efc4ca02b0d
|
|
| BLAKE2b-256 |
593569282040f1cad0a3fe3415a0048db9696d6a3bf435979c2055fde38101fd
|
Provenance
The following attestation bundles were made for autowt-0.3.2.tar.gz:
Publisher:
pypi.yml on irskep/autowt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autowt-0.3.2.tar.gz -
Subject digest:
1fabcb0275061ef7e82a482f9e97c805891cde0d20c5af9df1c6e76a18a2cd9e - Sigstore transparency entry: 297093956
- Sigstore integration time:
-
Permalink:
irskep/autowt@1bacf4d7e20ed0b65b1affc4733c996adb6918cf -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/irskep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@1bacf4d7e20ed0b65b1affc4733c996adb6918cf -
Trigger Event:
push
-
Statement type:
File details
Details for the file autowt-0.3.2-py3-none-any.whl.
File metadata
- Download URL: autowt-0.3.2-py3-none-any.whl
- Upload date:
- Size: 71.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07037bcd7373dffe235e6ca682272ff24b35b06bde5311bcea5a8de89e878fe4
|
|
| MD5 |
5d578dd3e06003ec6f61049b4a4b7e98
|
|
| BLAKE2b-256 |
81e73159fa4e10febf5fd7a70c4a8eb62dfdd987a5c4dabecd23c070f9bf8535
|
Provenance
The following attestation bundles were made for autowt-0.3.2-py3-none-any.whl:
Publisher:
pypi.yml on irskep/autowt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autowt-0.3.2-py3-none-any.whl -
Subject digest:
07037bcd7373dffe235e6ca682272ff24b35b06bde5311bcea5a8de89e878fe4 - Sigstore transparency entry: 297093964
- Sigstore integration time:
-
Permalink:
irskep/autowt@1bacf4d7e20ed0b65b1affc4733c996adb6918cf -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/irskep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@1bacf4d7e20ed0b65b1affc4733c996adb6918cf -
Trigger Event:
push
-
Statement type: