Skip to main content

claude_project_settings_needs_update

Function claude_project_settings_needs_update 

Source
pub fn claude_project_settings_needs_update(
    path: &Path,
    sqz_path: &str,
) -> Result<bool>
Expand description

Dry-run probe for sqz init’s plan phase: would merging sqz’s hook entries change the Claude Code settings file at path?

Returns Ok(true) when the file is missing, or exists with stale or absent sqz entries (e.g. the pre-issue-#26 "Bash"-only matcher, or an outdated binary path). Returns Ok(false) when our entries are already present identically. Errors on unparseable files — same as the real merge, which refuses to touch those.

Without this probe the CLI’s plan phase treated any existing file as “nothing to do” and exited before the installer ran, so the healing merge below was unreachable in practice.