claudecode/crates
Yeachan-Heo 7c117aa9bd Persist CLI conversation history across sessions
The Rust CLI now stores managed sessions under ~/.claude/sessions,
records additive session metadata in the canonical JSON transcript,
and exposes a /sessions listing alias alongside ID-or-path resume.
Inactive oversized sessions are compacted automatically so old
transcripts remain resumable without growing unchecked.

Constraint: Session JSON must stay backward-compatible with legacy files that lack metadata
Constraint: Managed sessions must use a single canonical JSON file per session without new dependencies
Rejected: Sidecar metadata/index files | duplicated state and diverged from the requested single-file persistence model
Confidence: high
Scope-risk: moderate
Reversibility: clean
Directive: Keep CLI policy in the CLI; only add transcript-adjacent metadata to runtime::Session unless another consumer truly needs more
Tested: cargo fmt; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace
Not-tested: Manual interactive REPL smoke test against the live Anthropic API
2026-04-01 00:58:14 +00:00
..
api Enable saved OAuth startup auth without breaking local version output 2026-04-01 00:24:55 +00:00
commands Persist CLI conversation history across sessions 2026-04-01 00:58:14 +00:00
compat-harness Merge remote-tracking branch 'origin/rcc/cli' into dev/rust 2026-03-31 20:46:07 +00:00
runtime Persist CLI conversation history across sessions 2026-04-01 00:58:14 +00:00
rusty-claude-cli Persist CLI conversation history across sessions 2026-04-01 00:58:14 +00:00
tools Enforce tool permissions before execution 2026-04-01 00:06:15 +00:00