diff --git a/app/src/ai/agent_sdk/ambient.rs b/app/src/ai/agent_sdk/ambient.rs index 76d747ad1..6cbd07f02 100644 --- a/app/src/ai/agent_sdk/ambient.rs +++ b/app/src/ai/agent_sdk/ambient.rs @@ -491,7 +491,7 @@ impl AmbientAgentRunner { parent_run_id: None, runtime_skills: vec![], referenced_attachments: vec![], - conversation_id: None, + conversation_id: args.conversation, initial_snapshot_token: None, }; diff --git a/crates/warp_cli/src/lib_tests.rs b/crates/warp_cli/src/lib_tests.rs index 02420084e..c8d69946e 100644 --- a/crates/warp_cli/src/lib_tests.rs +++ b/crates/warp_cli/src/lib_tests.rs @@ -1601,6 +1601,32 @@ fn harness_parse_local_child_harness_accepts_codex() { ); } +#[test] +fn agent_run_cloud_accepts_conversation_flag() { + let args = Args::try_parse_from([ + "warp", + "agent", + "run-cloud", + "--prompt", + "hello", + "--conversation", + "92b8aa0f-1525-4813-9990-62db7afe9c12", + ]) + .unwrap(); + + let Some(Command::CommandLine(boxed_cmd)) = args.command else { + panic!("Expected `warp agent run-cloud` command"); + }; + let CliCommand::Agent(AgentCommand::RunCloud(run_args)) = boxed_cmd.as_ref() else { + panic!("Expected `warp agent run-cloud` command"); + }; + + assert_eq!( + run_args.conversation.as_deref(), + Some("92b8aa0f-1525-4813-9990-62db7afe9c12") + ); +} + #[test] fn agent_run_cloud_accepts_claude_auth_secret_with_harness() { let args = Args::try_parse_from([