# roles/claude_code/defaults/main.yml --- # How to install Claude Code: # apt - signed Anthropic apt repo, system-wide, upgraded via apt (recommended for servers) # native - Anthropic's installer script, per-user in ~/.local/bin, self-updating claude_code_install_method: apt # ---- apt method ------------------------------------------------------------- # Release channel: "stable" (~1 week behind, skips bad releases) or "latest" claude_code_apt_channel: stable # "present" installs once; "latest" upgrades on every run claude_code_package_state: present claude_code_apt_key_url: https://downloads.claude.ai/keys/claude-code.asc claude_code_apt_key_path: /etc/apt/keyrings/claude-code.asc # Fingerprint published in Anthropic's docs; the role refuses to continue if it differs claude_code_apt_key_fingerprint: "31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE" claude_code_apt_repo_base: https://downloads.claude.ai/claude-code/apt # ---- native method ---------------------------------------------------------- # User the native installer runs as claude_code_user: "{{ ansible_user_id }}" # "latest", "stable", or a specific version such as "2.1.89" claude_code_native_version: latest # ---- common ----------------------------------------------------------------- claude_code_prereq_packages: - curl - ca-certificates - gnupg # Optional: content for ~/.claude/settings.json of claude_code_settings_user. # Empty dict = don't touch the file. NOTE: when set, the file is overwritten. # Example: { "autoUpdatesChannel": "stable", "env": { "DISABLE_AUTOUPDATER": "1" } } claude_code_settings: {} claude_code_settings_user: "{{ claude_code_user }}" # Run `claude --version` at the end and fail if it doesn't work claude_code_verify: true