MCPcopy Index your code
hub / github.com/codeaashu/claude-code / prepareContextForPlanMode

Function prepareContextForPlanMode

src/utils/permissions/permissionSetup.ts:1462–1493  ·  view source on GitHub ↗
(
  context: ToolPermissionContext,
)

Source from the content-addressed store, hash-verified

1460 * auto semantics stay active during plan mode.
1461 */
1462export function prepareContextForPlanMode(
1463 context: ToolPermissionContext,
1464): ToolPermissionContext {
1465 const currentMode = context.mode
1466 if (currentMode === 'plan') return context
1467 if (feature('TRANSCRIPT_CLASSIFIER')) {
1468 const planAutoMode = shouldPlanUseAutoMode()
1469 if (currentMode === 'auto') {
1470 if (planAutoMode) {
1471 return { ...context, prePlanMode: 'auto' }
1472 }
1473 autoModeStateModule?.setAutoModeActive(false)
1474 setNeedsAutoModeExitAttachment(true)
1475 return {
1476 ...restoreDangerousPermissions(context),
1477 prePlanMode: 'auto',
1478 }
1479 }
1480 if (planAutoMode && currentMode !== 'bypassPermissions') {
1481 autoModeStateModule?.setAutoModeActive(true)
1482 return {
1483 ...stripDangerousPermissionsForAutoMode(context),
1484 prePlanMode: currentMode,
1485 }
1486 }
1487 }
1488 logForDebugging(
1489 `[prepareContextForPlanMode] plain plan entry, prePlanMode=${currentMode}`,
1490 { level: 'info' },
1491 )
1492 return { ...context, prePlanMode: currentMode }
1493}
1494
1495/**
1496 * Reconciles auto-mode state during plan mode after a settings change.

Callers 3

callFunction · 0.85
transitionPermissionModeFunction · 0.85
callFunction · 0.85

Calls 6

featureFunction · 0.85
shouldPlanUseAutoModeFunction · 0.85
logForDebuggingFunction · 0.85

Tested by

no test coverage detected