{"record":{"id":"ab7fd33e55d9da51","repo":"slopus/happy","slug":"your-settings-file-settingsvalue-will-be-i","errorCode":null,"errorMessage":"   Your settings file \"${settingsValue}\" will be ignored.","messagePattern":"   Your settings file \"(.+?)\" will be ignored\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"packages/happy-cli/src/index.ts","lineNumber":684,"sourceCode":"          const key = envArg.substring(0, eqIndex)\n          const value = envArg.substring(eqIndex + 1)\n          options.claudeEnvVars = options.claudeEnvVars || {}\n          options.claudeEnvVars[key] = value\n        } else {\n          console.error(chalk.red(`Invalid --claude-env format: ${envArg}. Expected KEY=VALUE`))\n          process.exit(1)\n        }\n      } else if (arg === '--chrome') {\n        chromeOverride = true\n        // We'll add --chrome to claudeArgs after resolving settings default\n      } else if (arg === '--no-chrome') {\n        chromeOverride = false\n        // Happy-specific flag to disable chrome even if default is on\n      } else if (arg === '--settings') {\n        // Intercept --settings flag - Happy uses this internally for session hooks\n        const settingsValue = args[++i] // consume the value\n        console.warn(chalk.yellow(`⚠️  Warning: --settings is used internally by Happy for session tracking.`))\n        console.warn(chalk.yellow(`   Your settings file \"${settingsValue}\" will be ignored.`))\n        console.warn(chalk.yellow(`   To configure Claude, edit ~/.claude/settings.json instead.`))\n        // Don't pass through to claudeArgs\n      } else {\n        // Pass unknown arguments through to claude\n        unknownArgs.push(arg)\n        // Check if this arg expects a value (simplified check for common patterns)\n        if (i + 1 < args.length && !args[i + 1].startsWith('-')) {\n          unknownArgs.push(args[++i])\n        }\n      }\n    }\n\n    // Add unknown args to claudeArgs\n    if (unknownArgs.length > 0) {\n      options.claudeArgs = [...(options.claudeArgs || []), ...unknownArgs]\n    }\n\n    // Resolve Chrome mode: explicit flag > settings > false","sourceCodeStart":666,"sourceCodeEnd":702,"githubUrl":"https://github.com/slopus/happy/blob/b824cd0a4681d41af631a8e422a813873e4455b0/packages/happy-cli/src/index.ts#L666-L702","documentation":"Second line of the --settings interception warning: it echoes the value following --settings (the settings file path the user passed) and states that this file will be ignored, because happy strips the flag/value before spawning Claude.","triggerScenarios":"Same as the --settings warning: `happy claude --settings <path>` — settingsValue is args[++i] after the flag.","commonSituations":"User expects their custom Claude settings JSON to apply to the happy-wrapped session; it silently doesn't, and this line tells them which file was dropped.","solutions":["Merge the contents of the named settings file into ~/.claude/settings.json so Claude picks it up.","Remove --settings and its value from the command line.","Verify effective Claude config afterwards via `claude /status` or by inspecting ~/.claude/settings.json."],"exampleFix":"// before\nhappy claude --settings ./team.json\n// after\ncat ./team.json >> ~/.claude/settings.json && happy claude","handlingStrategy":"validation","validationCode":"// ensure the settings you would have passed are merged into the global Claude settings\nconst wanted = JSON.parse(fs.readFileSync('team.json', 'utf8'));\nconst globalPath = require('os').homedir() + '/.claude/settings.json';\nconst global_ = JSON.parse(fs.readFileSync(globalPath, 'utf8'));\nconst missing = Object.keys(wanted).filter(k => !(k in global_));\nif (missing.length) console.warn('Keys from team.json missing in ~/.claude/settings.json:', missing);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Merge team/project Claude settings into ~/.claude/settings.json ahead of time.","Remove --settings (and its value) from happy invocations and scripts.","Verify effective Claude config with `claude /status` after changes.","Document in team onboarding that happy ignores --settings."],"tags":["cli-args","settings","claude","flag-intercepted"],"backgroundTag":"unsupported-flag-ignored","analyzedSha":"b824cd0a4681d41af631a8e422a813873e4455b0","analyzedAt":"2026-08-31T23:12:36.205Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T05:18:18.240Z"}