Installation
Install erk and verify your setup.
Prerequisites: Complete Prerequisites firstβyou need Python 3.11+, Claude Code, uv, and GitHub CLI.
Install erk
Install erk as a project dependency:
cd your-project
uv add erk
uv sync
Verify the installation:
# In your project directory (with venv activated)
erk --version
You should see output like erk 0.4.x.
Troubleshooting:
uv: command not foundβ Install uv first. See Prerequisites.- Python version error β erk requires Python 3.11 or higher. Check with
python --version. erk: command not foundβ Make sure your venv is activated (. .venv/bin/activate) or use.venv/bin/erkdirectly.
Verify Installation
Run the doctor command to check your setup:
erk doctor
Doctor checks two categories:
- Repository Setup: Checks specific to the current repo (git, config, hooks)
- User Setup: Global prerequisites (CLI tools, authentication)
Condensed output (default):
π Checking erk setup...
Repository Setup
β
Git repository (2 checks)
β
Claude settings (4 checks)
β
Erk configuration (6 checks)
β
GitHub (3 checks)
β
Hooks (1 checks)
User Setup
β
erk CLI installed: v0.4.7
β
Claude CLI installed
β
GitHub CLI installed
β
uv installed
β
User checks (4 checks)
β¨ All checks passed!
Verbose output (erk doctor --verbose):
Add --verbose to see individual checks within each categoryβuseful for debugging failures.
Status indicators:
| Icon | Meaning | Action |
|---|---|---|
| β | Passed | None needed |
| βΉοΈ | Info | Optional enhancement available |
| β | Failed | Fix required before continuing |
If checks fail:
- Repository Setup failures β Run
erk initto configure the repo - User Setup failures β See Prerequisites to install missing tools
Initialize a Repository
Erk initialization has two phases:
-
Project setup (one-time per repository) β Creates configuration files and Claude Code artifacts that are committed to the repo. Once done, other team members get erk support automatically.
-
User setup (one-time per developer) β Creates local configuration on each developer's machine. This includes the global config file.
Run init from your project's root directory:
erk init
What happens during project setup
When you run erk init in a repository for the first time, it creates:
.erk/config.tomlβ Repository configuration (commit this).erk/required-erk-uv-tool-versionβ Minimum erk version for the project.claude/commands/erk/β Claude Code slash commands like/erk:plan-save.claude/skills/β Coding standards and documentation patterns.claude/agents/β Agent definitions (e.g., devrun for test execution)
Once committed, any developer who clones the repo gets these artifacts automatically.
What happens during user setup
Each developer needs local state that isn't committed:
~/.erk/config.jsonβ Global config with:erk_root: Where worktrees are created (default:~/.erk/repos/<repo>/worktrees/)use_graphite: Auto-detected based on whethergtis installed
The first time you run erk init (in any repo), it creates your global config. Subsequent runs in other repos skip this step.
For optional capabilities (devrun, dignified-python, etc.), init flags, and troubleshooting, see Advanced Configuration.
Quick Reference
| Task | Command |
|---|---|
| Install erk | uv add erk && uv sync |
| Check version | erk --version |
| Verify setup | erk doctor |
| Verbose diagnostics | erk doctor --verbose |
| Initialize repo | erk init |
| Update erk | uv upgrade erk |
Next Steps
- Your First Plan β Create your first plan and land a PR