Files
ddev-claude-cli/commands/web/claude-swap
T

29 lines
882 B
Bash
Executable File

#!/usr/bin/env bash
#ddev-generated
## Description: Manage multiple Claude accounts (claude-swap / cswap)
## Usage: claude-swap [command]
## Example: "ddev claude-swap list" or "ddev cswap list"
## Aliases: cswap
set -euo pipefail
INSTALL_SCRIPT="${DDEV_APPROOT}/.ddev/claude-code/install-swap.sh"
PERSIST_BASE="${DDEV_APPROOT}/.ddev/claude-code"
PERSIST_HOME="${PERSIST_BASE}/home"
CSWAP_BIN="${PERSIST_HOME}/.local/bin/cswap"
# Lazy install / health check (also handles "ddev claude-swap upgrade").
if [ "${1:-}" = "upgrade" ]; then
exec "${INSTALL_SCRIPT}" --upgrade
fi
"${INSTALL_SCRIPT}"
export HOME="${PERSIST_HOME}"
export XDG_CONFIG_HOME="${PERSIST_BASE}/config"
export XDG_DATA_HOME="${PERSIST_BASE}/data"
export XDG_STATE_HOME="${PERSIST_BASE}/state"
export PATH="${PERSIST_HOME}/.local/bin:${PATH}"
unset SSH_AUTH_SOCK
cd "${DDEV_APPROOT}"
exec "${CSWAP_BIN}" "$@"