Skip to content

Commit 4f8dcc4

Browse files
authored
fix: Ensure .claude/settings.local.json exists for permission persistence (#920)
Closes #870
1 parent 4fd195a commit 4f8dcc4

File tree

1 file changed

+15
-0
lines changed
  • packages/agent/src/adapters/claude/session

1 file changed

+15
-0
lines changed

packages/agent/src/adapters/claude/session/options.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,22 @@ function buildSpawnWrapper(
175175
};
176176
}
177177

178+
function ensureLocalSettings(cwd: string): void {
179+
const claudeDir = path.join(cwd, ".claude");
180+
const localSettingsPath = path.join(claudeDir, "settings.local.json");
181+
try {
182+
if (!fs.existsSync(localSettingsPath)) {
183+
fs.mkdirSync(claudeDir, { recursive: true });
184+
fs.writeFileSync(localSettingsPath, "{}\n", { flag: "wx" });
185+
}
186+
} catch {
187+
// Best-effort — don't fail session creation if we can't write
188+
}
189+
}
190+
178191
export function buildSessionOptions(params: BuildOptionsParams): Options {
192+
ensureLocalSettings(params.cwd);
193+
179194
const options: Options = {
180195
...params.userProvidedOptions,
181196
systemPrompt: params.systemPrompt ?? buildSystemPrompt(),

0 commit comments

Comments
 (0)