@@ -351,11 +351,12 @@ export async function main() {
351351 }
352352
353353 const isDebugMode = cliConfig . isDebugMode ( argv ) ;
354+ const earlyConsoleLogs : Array < { type : string ; content : string } > = [ ] ;
354355 const consolePatcher = new ConsolePatcher ( {
355356 stderr : true ,
356357 debugMode : isDebugMode ,
357358 onNewMessage : ( msg ) => {
358- coreEvents . emitConsoleLog ( msg . type , msg . content ) ;
359+ earlyConsoleLogs . push ( { type : msg . type , content : msg . content } ) ;
359360 } ,
360361 } ) ;
361362 consolePatcher . patch ( ) ;
@@ -518,11 +519,19 @@ export async function main() {
518519
519520 adminControlsListner . setConfig ( config ) ;
520521
521- if ( config . isInteractive ( ) && config . getDebugMode ( ) ) {
522+ if ( config . isInteractive ( ) && settings . merged . general . devtools ) {
522523 const { registerActivityLogger } = await import (
523- './utils/activityLogger .js'
524+ './utils/devtoolsService .js'
524525 ) ;
525- registerActivityLogger ( config ) ;
526+ await registerActivityLogger ( config ) ;
527+ // Replay early console logs directly to ActivityLogger (bypasses
528+ // coreEvents so they only appear in DevTools, not the TUI debug console).
529+ const { ActivityLogger } = await import ( './utils/activityLogger.js' ) ;
530+ const capture = ActivityLogger . getInstance ( ) ;
531+ for ( const log of earlyConsoleLogs ) {
532+ capture . logConsole ( log ) ;
533+ }
534+ earlyConsoleLogs . length = 0 ;
526535 }
527536
528537 // Register config for telemetry shutdown
0 commit comments