bcmr / better copy move removeone verb for local + sshv0.6.0 · 2026.04.20
§ 01 · overview█
copy.move.remove.
a modern replacement for cp, mv, and scp. blake3 checksums streamed during every write.
crash-safe resume. one cli for local paths and ssh paths — same flags, same guarantees.
every byte hashed on both ends as it's written. --verify promotes it to a full 2-pass re-read.
02
kill the process, pull the cable. rerun the same command. pick up from the last verified chunk.
03
bcmr copy a.txt user@host:/b/ is the same verb as bcmr copy a.txt /b/. same flags, same guarantees.
04
copy_file_range on linux, clone_file on apfs, sparse file detection, content-addressed dedup ≥ 16 mib.
§ 02 · one cli
local, ssh, same command.
cp and scp treat local and remote as two different universes.
bcmr treats them as two different paths. bcmr copy works
the same way whether you are moving 3 mb across a disk or
300 gb across a datacenter.
zsh · bcmr 0.6.0
~/work
§ 03 · features
eight things it does right.
these are promises, not descriptions. if you find one violated,
that is a bug we want to hear about.
01
integrity by default
every copy streams through blake3 during the write. --verify promotes that to a full 2-pass checksum round-trip — not an opt-in rescan like rsync's --checksum.
02
crash-safe resume
interrupt a bcmr copy and run the same command again — session file, tail-block verify, continue where it stopped. no --partial --append-verify incantation.
03
one cli, local or ssh
bcmr copy a.txt /b/ and bcmr copy a.txt user@host:/b/ are the same command with the same flags. no cp/scp/rsync context switch.
04
direct-tcp fast path
optional aes-256-gcm data plane over direct tcp bypasses ssh's single-stream crypto ceiling on lan. keys negotiated via the ssh control channel.
05
fast by default
reflink (copy-on-write), copy_file_range on linux, sparse file detection, and pipeline scan+copy for immediate start.
06
safe by default
atomic writes via temp file + rename, durable fsync (F_FULLFSYNC on macos), dry-run preview, and regex exclusions.
07
built for humans + agents
tui with per-file progress for humans. --json detaches to a background job streaming ndjson; bcmr status <id> returns state. survives terminal close.
08
wire compression + dedup
per-block lz4/zstd negotiated in the serve handshake (~5× on source text), plus content-addressed dedup for repeat uploads ≥ 16 mib.