diff --git a/src/command_surface.rs b/src/command_surface.rs index 5c5cb75..65a07b4 100644 --- a/src/command_surface.rs +++ b/src/command_surface.rs @@ -977,11 +977,15 @@ fn create_or_join( create_args: &crate::cli::CreateArgs, registry: &WorkflowRegistry, ) -> Result { + if crate::state::session_dir(&create_args.name) + .join("state.json") + .exists() + { + return Ok(create_args.name.clone()); + } match commands::create_with_registry(create_args, registry) { Ok(name) => Ok(name), Err(err) => { - // NOTE: matches the bail! message in state.rs create_session_state() - // ("session '{}' already exists"). If that message changes, update here. if err.to_string().contains("already exists") { Ok(create_args.name.clone()) } else {