feat(settings): default permission mode to auto and surface it in UI
Replaces "bypassPermissions" with "auto" as the default for new installs and adds "auto" as the first option in the settings dropdown. Existing rows keep their stored value; ClaudeArgsBuilder still maps the legacy "bypassPermissions" -> "auto" at dispatch time. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -9,7 +9,7 @@ public sealed class AppSettingsEntity
|
||||
public string DefaultClaudeInstructions { get; set; } = string.Empty;
|
||||
public string DefaultModel { get; set; } = "sonnet";
|
||||
public int DefaultMaxTurns { get; set; } = 100;
|
||||
public string DefaultPermissionMode { get; set; } = "bypassPermissions";
|
||||
public string DefaultPermissionMode { get; set; } = "auto";
|
||||
|
||||
public string WorktreeStrategy { get; set; } = "sibling";
|
||||
public string? CentralWorktreeRoot { get; set; }
|
||||
|
||||
@@ -36,7 +36,7 @@ public sealed class AppSettingsRepository
|
||||
row.DefaultModel = string.IsNullOrWhiteSpace(updated.DefaultModel) ? "sonnet" : updated.DefaultModel;
|
||||
row.DefaultMaxTurns = updated.DefaultMaxTurns;
|
||||
row.DefaultPermissionMode = string.IsNullOrWhiteSpace(updated.DefaultPermissionMode)
|
||||
? "bypassPermissions" : updated.DefaultPermissionMode;
|
||||
? "auto" : updated.DefaultPermissionMode;
|
||||
row.WorktreeStrategy = string.IsNullOrWhiteSpace(updated.WorktreeStrategy) ? "sibling" : updated.WorktreeStrategy;
|
||||
row.CentralWorktreeRoot = string.IsNullOrWhiteSpace(updated.CentralWorktreeRoot)
|
||||
? null : updated.CentralWorktreeRoot;
|
||||
|
||||
@@ -15,7 +15,7 @@ public sealed partial class SettingsModalViewModel : ViewModelBase
|
||||
[ObservableProperty] private string _defaultClaudeInstructions = "";
|
||||
[ObservableProperty] private string _defaultModel = "sonnet";
|
||||
[ObservableProperty] private int _defaultMaxTurns = 100;
|
||||
[ObservableProperty] private string _defaultPermissionMode = "bypassPermissions";
|
||||
[ObservableProperty] private string _defaultPermissionMode = "auto";
|
||||
[ObservableProperty] private string _worktreeStrategy = "sibling";
|
||||
[ObservableProperty] private string? _centralWorktreeRoot;
|
||||
[ObservableProperty] private bool _worktreeAutoCleanupEnabled;
|
||||
@@ -28,7 +28,7 @@ public sealed partial class SettingsModalViewModel : ViewModelBase
|
||||
|
||||
public IReadOnlyList<string> Models { get; } = new[] { "opus", "sonnet", "haiku" };
|
||||
public IReadOnlyList<string> PermissionModes { get; } = new[]
|
||||
{ "bypassPermissions", "acceptEdits", "plan", "default" };
|
||||
{ "auto", "bypassPermissions", "acceptEdits", "plan", "default" };
|
||||
public IReadOnlyList<string> WorktreeStrategies { get; } = new[] { "sibling", "central" };
|
||||
|
||||
public string AppVersion { get; } =
|
||||
@@ -60,7 +60,7 @@ public sealed partial class SettingsModalViewModel : ViewModelBase
|
||||
DefaultClaudeInstructions = dto.DefaultClaudeInstructions ?? "";
|
||||
DefaultModel = dto.DefaultModel ?? "sonnet";
|
||||
DefaultMaxTurns = dto.DefaultMaxTurns;
|
||||
DefaultPermissionMode = dto.DefaultPermissionMode ?? "bypassPermissions";
|
||||
DefaultPermissionMode = dto.DefaultPermissionMode ?? "auto";
|
||||
WorktreeStrategy = dto.WorktreeStrategy ?? "sibling";
|
||||
CentralWorktreeRoot = dto.CentralWorktreeRoot;
|
||||
WorktreeAutoCleanupEnabled = dto.WorktreeAutoCleanupEnabled;
|
||||
@@ -107,7 +107,7 @@ public sealed partial class SettingsModalViewModel : ViewModelBase
|
||||
DefaultClaudeInstructions ?? "",
|
||||
DefaultModel ?? "sonnet",
|
||||
DefaultMaxTurns,
|
||||
DefaultPermissionMode ?? "bypassPermissions",
|
||||
DefaultPermissionMode ?? "auto",
|
||||
WorktreeStrategy ?? "sibling",
|
||||
string.IsNullOrWhiteSpace(CentralWorktreeRoot) ? null : CentralWorktreeRoot,
|
||||
WorktreeAutoCleanupEnabled,
|
||||
|
||||
Reference in New Issue
Block a user