feat: add branchSummary.skipPrompt setting to skip summarization prompt (#1792)

When enabled, /tree navigation skips the 'Summarize branch?' prompt and
defaults to no summary, reducing friction for users who never want branch
summaries.

Closes #1791
This commit is contained in:
Cody Bontecou 2026-03-04 09:54:36 -07:00 committed by GitHub
parent b4f9986d23
commit f710c2705d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 33 additions and 23 deletions

View file

@ -69,6 +69,7 @@ Edit directly or use `/settings` for common options.
| Setting | Type | Default | Description | | Setting | Type | Default | Description |
|---------|------|---------|-------------| |---------|------|---------|-------------|
| `branchSummary.reserveTokens` | number | `16384` | Tokens reserved for branch summarization | | `branchSummary.reserveTokens` | number | `16384` | Tokens reserved for branch summarization |
| `branchSummary.skipPrompt` | boolean | `false` | Skip "Summarize branch?" prompt on `/tree` navigation (defaults to no summary) |
### Retry ### Retry

View file

@ -12,6 +12,7 @@ export interface CompactionSettings {
export interface BranchSummarySettings { export interface BranchSummarySettings {
reserveTokens?: number; // default: 16384 (tokens reserved for prompt + LLM response) reserveTokens?: number; // default: 16384 (tokens reserved for prompt + LLM response)
skipPrompt?: boolean; // default: false - when true, skips "Summarize branch?" prompt and defaults to no summary
} }
export interface RetrySettings { export interface RetrySettings {
@ -607,12 +608,17 @@ export class SettingsManager {
}; };
} }
getBranchSummarySettings(): { reserveTokens: number } { getBranchSummarySettings(): { reserveTokens: number; skipPrompt: boolean } {
return { return {
reserveTokens: this.settings.branchSummary?.reserveTokens ?? 16384, reserveTokens: this.settings.branchSummary?.reserveTokens ?? 16384,
skipPrompt: this.settings.branchSummary?.skipPrompt ?? false,
}; };
} }
getBranchSummarySkipPrompt(): boolean {
return this.settings.branchSummary?.skipPrompt ?? false;
}
getRetryEnabled(): boolean { getRetryEnabled(): boolean {
return this.settings.retry?.enabled ?? true; return this.settings.retry?.enabled ?? true;
} }

View file

@ -3448,6 +3448,8 @@ export class InteractiveMode {
let wantsSummary = false; let wantsSummary = false;
let customInstructions: string | undefined; let customInstructions: string | undefined;
// Check if we should skip the prompt (user preference to always default to no summary)
if (!this.settingsManager.getBranchSummarySkipPrompt()) {
while (true) { while (true) {
const summaryChoice = await this.showExtensionSelector("Summarize branch?", [ const summaryChoice = await this.showExtensionSelector("Summarize branch?", [
"No summary", "No summary",
@ -3474,6 +3476,7 @@ export class InteractiveMode {
// User made a complete choice // User made a complete choice
break; break;
} }
}
// Set up escape handler and loader if summarizing // Set up escape handler and loader if summarizing
let summaryLoader: Loader | undefined; let summaryLoader: Loader | undefined;