1010 Option :: < T > :: deserialize ( deserializer) . map ( Some )
1111}
1212
13+ pub const DEFAULT_MCP_TOOL_LOOP_MAX_ITERATIONS : u32 = 100 ;
14+
1315// === Provider System ===
1416
1517#[ derive( Debug , Clone , Serialize , Deserialize ) ]
@@ -847,7 +849,7 @@ impl Default for AppSettings {
847849 inherit_conversation_preferences_on_create : true ,
848850 chat_stream_first_packet_timeout_secs : 180 ,
849851 chat_stream_idle_timeout_secs : 90 ,
850- mcp_tool_loop_max_iterations : 10 ,
852+ mcp_tool_loop_max_iterations : DEFAULT_MCP_TOOL_LOOP_MAX_ITERATIONS ,
851853 document_attachment_reading_enabled : false ,
852854 show_image_models_in_model_selector : false ,
853855 multi_model_display_mode : "tabs" . to_string ( ) ,
@@ -907,9 +909,9 @@ mod app_settings_tests {
907909 }
908910
909911 #[ test]
910- fn mcp_tool_loop_max_iterations_defaults_to_10_and_roundtrips ( ) {
912+ fn mcp_tool_loop_max_iterations_defaults_to_100_and_roundtrips ( ) {
911913 let settings = AppSettings :: default ( ) ;
912- assert_eq ! ( settings. mcp_tool_loop_max_iterations, 10 ) ;
914+ assert_eq ! ( settings. mcp_tool_loop_max_iterations, 100 ) ;
913915
914916 let settings: AppSettings = serde_json:: from_value ( json ! ( {
915917 "mcp_tool_loop_max_iterations" : 25
@@ -920,7 +922,7 @@ mod app_settings_tests {
920922
921923 let settings: AppSettings =
922924 serde_json:: from_value ( json ! ( { } ) ) . expect ( "settings should default missing fields" ) ;
923- assert_eq ! ( settings. mcp_tool_loop_max_iterations, 10 ) ;
925+ assert_eq ! ( settings. mcp_tool_loop_max_iterations, 100 ) ;
924926 }
925927
926928 #[ test]
0 commit comments