From 4f670e5513db1ed485e8c822ef404a48e8129028 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Fri, 10 Apr 2026 06:31:16 +0900 Subject: [PATCH] fix(cli): emit JSON for --resume with no command in --output-format json mode claw --output-format json --resume (no command) was printing: 'Restored session from (N messages).' to stdout as prose, regardless of output format. Now emits: {"kind":"restored","session_id":"...","path":"...","message_count":N} 159 CLI tests pass. --- rust/crates/rusty-claude-cli/src/main.rs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/rust/crates/rusty-claude-cli/src/main.rs b/rust/crates/rusty-claude-cli/src/main.rs index fb06e10..8c4469b 100644 --- a/rust/crates/rusty-claude-cli/src/main.rs +++ b/rust/crates/rusty-claude-cli/src/main.rs @@ -2256,11 +2256,23 @@ fn resume_session(session_path: &Path, commands: &[String], output_format: CliOu }; if commands.is_empty() { - println!( - "Restored session from {} ({} messages).", - resolved_path.display(), - session.messages.len() - ); + if output_format == CliOutputFormat::Json { + println!( + "{}", + serde_json::json!({ + "kind": "restored", + "session_id": session.session_id, + "path": resolved_path.display().to_string(), + "message_count": session.messages.len(), + }) + ); + } else { + println!( + "Restored session from {} ({} messages).", + resolved_path.display(), + session.messages.len() + ); + } return; }