Before: main 2ed92618e6 Environment: fs-16 Linux x64; real T3 dev server, web client, Claude Code 2.1.303, claude-opus-5-5 Launch arguments: --settings '{"env":{"ANTHROPIC_VERTEX_PROJECT_ID":"issue-25017-marker"}}' Configured the instance in Settings > Providers, selected it as text generation model, sent "Reply with OK only. Do not use tools or change any files." Observed thread title: Quick OK response check Recorded actual Claude argv: [ "-p", "--output-format", "json", "--json-schema", "{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"needsRefinement\":{\"type\":\"boolean\"}},\"required\":[\"title\",\"needsRefinement\"],\"additionalProperties\":false}", "--model", "claude-opus-5-5", "--effort", "medium", "--settings", "{\"disableAllHooks\":true}", "--tools", "", "--disable-slash-commands", "--strict-mcp-config", "--permission-mode", "dontAsk" ] Actual settings: {"disableAllHooks": true} Project marker absent: True The probe records argv and subprocess cwd, then execs the real Claude CLI. No provider response was stubbed. After: bd4851187a Inline JSON: clicked thread actions > Regenerate title. Result: Quick OK response check. Actual argv: [ "-p", "--output-format", "json", "--json-schema", "{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"needsRefinement\":{\"type\":\"boolean\"}},\"required\":[\"title\",\"needsRefinement\"],\"additionalProperties\":false}", "--model", "claude-opus-5-5", "--effort", "medium", "--settings", "{\"env\":{\"ANTHROPIC_VERTEX_PROJECT_ID\":\"issue-25017-marker\"},\"disableAllHooks\":true}", "--tools", "", "--disable-slash-commands", "--strict-mcp-config", "--permission-mode", "dontAsk" ] Relative file: request cwd /home/ubuntu/wt/issue-25017/apps/server Launch args: --settings ../../../../../../tmp/issue-25017/launch-settings.json File contents: {"env": {"ANTHROPIC_VERTEX_PROJECT_ID": "issue-25017-file-marker"}, "disableAllHooks": false} Sent same message in a new thread. Result title: Agent OK response check; agent replied OK. Actual argv: [ "-p", "--output-format", "json", "--json-schema", "{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"needsRefinement\":{\"type\":\"boolean\"}},\"required\":[\"title\",\"needsRefinement\"],\"additionalProperties\":false}", "--model", "claude-opus-5-5", "--effort", "medium", "--settings", "{\"env\":{\"ANTHROPIC_VERTEX_PROJECT_ID\":\"issue-25017-file-marker\"},\"disableAllHooks\":true}", "--tools", "", "--disable-slash-commands", "--strict-mcp-config", "--permission-mode", "dontAsk" ] Actual title subprocess working directories (inline regeneration then relative file): {"cwd": "/tmp/t3code-claude-title-locAJC"} {"cwd": "/tmp/t3code-claude-title-NM3G3N"} Test proof: At f77c5a127b, vp test run src/textGeneration/ClaudeTextGeneration.test.ts: 2 failed, 15 passed. Both cases fail with: TextGenerationError: Claude CLI command failed: --settings was {"disableAllHooks":true,"fastMode":true} At bd4851187a, same focused suite: 19 passed (15 existing, 2 regression, 2 invalid settings cases). check:changed: format/lint/graphql/typecheck/tests pass; knip fails on base-only unused agent-device in scripts/package.json:15:6. Server-only change: capture matrix []. No rendering changes.