…Interactive
The caller (init command) now determines the MCP setup mode based on
flags and environment, instead of setupMCP guessing from isInteractive.
This fixes incorrect behavior where CI skipped MCP (should skip) but
--yes also prompted (should auto-configure).
- Add mode: 'prompt' | 'auto' | 'skip' to MCPSetupOptions
- Remove skipCi parameter from isInteractive (only used by setupMCP)
- Init command computes mode: CI → skip, --yes → auto, else → prompt
- mcp configure command unchanged (defaults to prompt)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
mode: 'prompt' | 'auto' | 'skip'option tosetupMCP, replacing the previousskipboolean and internalisInteractive({skipCi: true})checkinitcommand) now determines the mode based on flags and environment, instead ofsetupMCPguessingskipCiparameter fromisInteractive()(it was only used bysetupMCPand produced incorrect behavior)Before (broken):
--yes(user terminal)After (correct):
--yes(user terminal)Files changed
setupMCP.ts— replaceskipwithmode, removeisInteractivedependencyinit.ts— computemcpModefrom--no-mcp, CI detection, and--yesflagisInteractive.ts— removeskipCiparam, simplify to no-arg functionconfigure.test.ts— removeisInteractivemock and non-interactive testsetupMCP.test.ts— unit tests for all three mode behaviors🤖 Generated with Claude Code