feat(coding-agent): Add sessionDir support in settings.json (#2598)

Users can now set sessionDir in global or project settings.json instead
of passing --session-dir on every invocation. CLI flag takes precedence,
then settings.json, then extension hooks.

Closes #2429

Co-authored-by: Sam Collins <81678+smcllns@users.noreply.github.com>
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
This commit is contained in:
Sam
2026-03-25 16:03:36 -07:00
committed by GitHub
parent d38ad0cd6b
commit 2b1fc90cd7
4 changed files with 47 additions and 7 deletions

View File

@@ -94,6 +94,7 @@ export interface Settings {
autocompleteMaxVisible?: number; // Max visible items in autocomplete dropdown (default: 5)
showHardwareCursor?: boolean; // Show terminal cursor while still positioning it for IME
markdown?: MarkdownSettings;
sessionDir?: string; // Custom session storage directory (same format as --session-dir CLI flag)
}
/** Deep merge settings: project/overrides take precedence, nested objects merge recursively */
@@ -530,6 +531,10 @@ export class SettingsManager {
this.save();
}
getSessionDir(): string | undefined {
return this.settings.sessionDir;
}
getDefaultProvider(): string | undefined {
return this.settings.defaultProvider;
}