Skip to content

Commit 663f42d

Browse files
committed
fix: error when creating agent directories
Adds a check to avoid file system errors when creating directories like `.gemini`.
1 parent 63157ef commit 663f42d

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

runner/codegen/claude-code-runner.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
LlmRunner,
55
} from './llm-runner.js';
66
import {join} from 'path';
7-
import {mkdirSync} from 'fs';
7+
import {existsSync, mkdirSync} from 'fs';
88
import {writeFile} from 'fs/promises';
99
import {BaseCliAgentRunner} from './base-cli-agent-runner.js';
1010

@@ -48,7 +48,9 @@ export class ClaudeCodeRunner extends BaseCliAgentRunner implements LlmRunner {
4848
const instructionFilePath = join(context.directory, 'CLAUDE.md');
4949
const settingsDir = join(context.directory, '.claude');
5050

51-
mkdirSync(settingsDir);
51+
if (!existsSync(settingsDir)) {
52+
mkdirSync(settingsDir);
53+
}
5254

5355
await Promise.all([
5456
writeFile(join(settingsDir, 'settings.json'), this.getSettingsJsonFile(options.context)),

runner/codegen/codex-runner.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {LocalLlmGenerateFilesRequestOptions, LlmRunner} from './llm-runner.js';
22
import {join} from 'path';
3-
import {mkdirSync} from 'fs';
3+
import {existsSync, mkdirSync} from 'fs';
44
import {writeFile} from 'fs/promises';
55
import {BaseCliAgentRunner} from './base-cli-agent-runner.js';
66

@@ -39,7 +39,9 @@ export class CodexRunner extends BaseCliAgentRunner implements LlmRunner {
3939
const instructionFilePath = join(context.directory, 'AGENTS.md');
4040
const settingsDir = join(context.directory, '.codex');
4141

42-
mkdirSync(settingsDir);
42+
if (!existsSync(settingsDir)) {
43+
mkdirSync(settingsDir);
44+
}
4345

4446
await Promise.all([
4547
writeFile(join(settingsDir, 'config.toml'), this.getSettingsFile()),

runner/codegen/gemini-cli-runner.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {LocalLlmGenerateFilesRequestOptions, LlmRunner} from './llm-runner.js';
22
import {join} from 'path';
3-
import {mkdirSync} from 'fs';
3+
import {existsSync, mkdirSync} from 'fs';
44
import {writeFile} from 'fs/promises';
55
import {BaseCliAgentRunner} from './base-cli-agent-runner.js';
66

@@ -36,7 +36,9 @@ export class GeminiCliRunner extends BaseCliAgentRunner implements LlmRunner {
3636
const instructionFilePath = join(context.directory, 'GEMINI.md');
3737
const settingsDir = join(context.directory, '.gemini');
3838

39-
mkdirSync(settingsDir);
39+
if (!existsSync(settingsDir)) {
40+
mkdirSync(settingsDir);
41+
}
4042

4143
const commonIgnorePatterns = super.getCommonIgnorePatterns();
4244
const ignoreFileContent = [

0 commit comments

Comments
 (0)