capferry manages provider-specific Claude wrapper commands (claude-sub, claude-bedrock, claude-zai) and keeps a claude-current alias synced to your selected provider.
- macOS or Linux
- Rust toolchain (
rustup,cargo) - Claude CLI installed and reachable from terminal
Check:
rustc --version
cargo --version
claude --versionFrom this repository:
cargo install --path .This installs the capferry binary in ~/.cargo/bin.
Alternative (dev run without install):
cargo run -- --helpYour shell must include:
~/.cargo/bin(forcapferry)~/.local/bin(for generated wrapper scripts)
For zsh, add to ~/.zshrc:
[ -f "$HOME/.cargo/env" ] && . "$HOME/.cargo/env"
export PATH="$HOME/.local/bin:$PATH"Then reload:
source ~/.zshrcRun:
capferry configureThen verify:
capferry doctor
capferry statuscapferry status- show active configcapferry install- install wrapper scriptscapferry use bedrock|zai|sub- switch provider and refreshclaude-currentcapferry configure- interactive config update + reinstall wrapperscapferry doctor- run environment and config checks
capferry: command not found- Ensure
~/.cargo/binis in PATH, then restart shell.
- Ensure
- Wrapper commands not found (
claude-sub, etc.)- Ensure
~/.local/binis in PATH. - Run
capferry install.
- Ensure
- Claude binary check fails
- Confirm
claudeis installed and runnable. - Update
claude_pathin~/.capferry/config.tomlif needed.
- Confirm
cargo build --release
cargo test