{"record":{"id":"6694966756ce69d4","repo":"Yeachan-Heo/oh-my-codex","slug":"invalid-omx-team-worker-launch-args-bypass-cannot","errorCode":null,"errorMessage":"Invalid OMX_TEAM_WORKER_LAUNCH_ARGS: bypass cannot be combined with direct approval or sandbox policy","messagePattern":"Invalid OMX_TEAM_WORKER_LAUNCH_ARGS: bypass cannot be combined with direct approval or sandbox policy","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/team/model-contract.ts","lineNumber":590,"sourceCode":"  honorExactRoleModel?: boolean;\n}): string | undefined {\n  const envModel = normalizeOptionalModel(params.envModel);\n  const inheritedModel = normalizeOptionalModel(params.inheritedModel);\n  const fallbackModel = normalizeOptionalModel(params.fallbackModel);\n  if (envModel && envModel !== inheritedModel) return envModel;\n  if (params.honorExactRoleModel && fallbackModel) return fallbackModel;\n  return envModel ?? inheritedModel ?? fallbackModel;\n}\n\nexport function resolveTeamWorkerLaunchArgs(options: ResolveTeamWorkerLaunchArgsOptions): string[] {\n  const envArgs = restoreExactEnvironmentReasoningOverride(\n    splitWorkerLaunchArgs(options.existingRaw),\n    options.existingRaw,\n  );\n  const inheritedArgs = options.inheritedArgs ?? [];\n  const envParsed = parseTeamWorkerLaunchArgs(envArgs, 'OMX_TEAM_WORKER_LAUNCH_ARGS');\n  if (envParsed.wantsBypass && envParsed.policyKind === 'direct-policy') {\n    throw teamWorkerLaunchArgsError(\n      'OMX_TEAM_WORKER_LAUNCH_ARGS',\n      'bypass cannot be combined with direct approval or sandbox policy',\n    );\n  }\n  const inheritedParsed = parseTeamWorkerLaunchArgs(inheritedArgs, 'inherited leader worker launch arguments');\n\n  const envModel = normalizeOptionalModel(envParsed.modelOverride);\n  const inheritedModel = normalizeOptionalModel(inheritedParsed.modelOverride);\n  const fallbackModel = normalizeOptionalModel(options.fallbackModel);\n  const selectedModel = selectTeamWorkerModel({\n    envModel,\n    inheritedModel,\n    fallbackModel,\n    honorExactRoleModel: shouldHonorExactRoleModel(options),\n  });\n  const selectedModelProvider = envParsed.modelProviderOverride ?? inheritedParsed.modelProviderOverride ?? undefined;\n  const endOfOptionsIndex = envArgs.indexOf('--');\n  const combinedArgs = endOfOptionsIndex === -1","sourceCodeStart":572,"sourceCodeEnd":608,"githubUrl":"https://github.com/Yeachan-Heo/oh-my-codex/blob/3ad79a8a6fe6e95fdbb8c00e40716fffe4011ce2/src/team/model-contract.ts#L572-L608","documentation":"OMX_TEAM_WORKER_LAUNCH_ARGS simultaneously requests execution bypass and a direct approval/sandbox policy; these are mutually exclusive modes.","triggerScenarios":"envParsed.wantsBypass is true while policyKind === 'direct-policy', e.g. args contain a bypass flag plus --approval or --sandbox values.","commonSituations":"Copying a leader's policy args while adding a bypass flag for a worker, or stale bypass flag left in the environment.","solutions":["Remove either the bypass flag or the direct approval/sandbox flags","If the worker needs bypass, drop the policy flags and rely on defaults","Clear inherited bypass env vars before spawning policy-configured workers"],"exampleFix":"# before\nexport OMX_TEAM_WORKER_LAUNCH_ARGS='--bypass --approval never'\n# after\nexport OMX_TEAM_WORKER_LAUNCH_ARGS='--approval never'","handlingStrategy":"validation","validationCode":"const parsed = parseTeamWorkerLaunchArgs(tokens, 'env', { directPolicyMode: 'ignore' });\nconst ok = !(parsed.wantsBypass && parsed.policyKind === 'direct-policy');","typeGuard":null,"tryCatchPattern":"try { resolveWorkerLaunchArgs(...); } catch (e) { if (String(e).includes('bypass cannot be combined')) stripBypassFlagAndRetry(); else throw e; }","preventionTips":["Choose either bypass or explicit policy per worker, never both","Sanitize inherited env before spawning workers"],"tags":["team","argument-parsing","policy-conflict"],"backgroundTag":"mutually-exclusive-options","analyzedSha":"3ad79a8a6fe6e95fdbb8c00e40716fffe4011ce2","analyzedAt":"2026-08-27T22:18:39.783Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}