Skip to content

crosslink init --force ignores --dry-run flag #542

@maxine-at-forecast

Description

@maxine-at-forecast

Summary

crosslink init --force --dry-run applies changes instead of previewing them. The --dry-run flag is silently ignored when combined with --force.

Steps to Reproduce

  1. In an initialized crosslink repo, run:
    crosslink init --force --dry-run
    
  2. Observe that files are actually modified (e.g., .claude/settings.json, .mcp.json, hook scripts)
  3. git status shows real changes were written

Expected Behavior

--dry-run should take precedence (or at least be respected) — the command should preview what --force would change without writing anything, similar to how --update --dry-run works:

crosslink init --update --dry-run
# ...
# Dry run — no files were modified.

Actual Behavior

All managed files are overwritten as if --dry-run was not passed. No "Dry run" message is shown.

Environment

  • crosslink 0.7.0
  • macOS (Darwin 25.0.0)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions