Quick Start
Set up per-project profile switching in three steps. Each step links to the page with the full details.
1. Install
Preferred — install with mise
mise picks the right prebuilt binary for your platform and verifies its GitHub artifact attestations:
mise use -g github:petr-korobeinikov/claude-shim@latestOr install from crates.io — all install routes are in Installation:
cargo install claude-shimcargo install lands the binary in ~/.cargo/bin (already on your PATH if you use cargo).
2. Wire up the shell hook
Keeps the shims dir first on your PATH so the claude shim is what runs. It also exports CLAUDE_SHIM_ACTIVE_PROFILE on every prompt as a secondary effect the optional prompt indicator consumes. Add to your shell's startup file and re-source:
eval "$(claude-shim init zsh)"eval "$(claude-shim init bash)"3. Create a profile and point a project at it
# A global default + a second profile (--statusline adds the in-session indicator)
claude-shim profile new personal --default
claude-shim profile new work --statusline
# Point one project at the work profile
cd ~/Workspace/acme
claude-shim profile use workclaude launched from that directory now runs under the chosen profile; Claude Code initializes its contents on first launch.
Next steps
- Show the active profile in your shell prompt — Prompt indicator has the plain
PS1plus oh-my-posh variants. - Show it in Claude Code's status bar (statusLine) — statusLine indicator.
- Manage profiles — Profiles covers
current/listand the workspace marker. - Understand profile resolution — Profile resolution explains how the active profile is chosen.