From 84020edbde90e4d83e4911736bfbf42f6ae0daa6 Mon Sep 17 00:00:00 2001 From: kaitranntt Date: Sun, 2 Nov 2025 03:05:40 -0500 Subject: [PATCH] refactor(windows): remove default profile, ccs runs claude directly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes: - ccs.ps1: When profile is "default", run claude directly without profile lookup - install.ps1: Remove default profile from config.json - install.ps1: Remove ~/.claude/settings.json creation - install.ps1: Update quick start messages Behavior: - `ccs` → runs `claude` directly (no profile switching) - `ccs son` → switches to Sonnet profile - `ccs glm` → switches to GLM profile Rationale: - Windows Claude CLI doesn't use settings.json files - No need for default profile file that would never be used - Simpler and cleaner for Windows users --- ccs.ps1 | 16 ++++++++++++++++ install.ps1 | 17 +++-------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/ccs.ps1 b/ccs.ps1 index 3e058ebd..3e8c59f5 100644 --- a/ccs.ps1 +++ b/ccs.ps1 @@ -12,6 +12,22 @@ param( $ErrorActionPreference = "Stop" +# Special case: "default" profile just runs claude directly (no profile switching) +if ($Profile -eq "default") { + try { + if ($RemainingArgs) { + & claude @RemainingArgs + } else { + & claude + } + exit $LASTEXITCODE + } catch { + Write-Host "Error: Failed to execute claude" -ForegroundColor Red + Write-Host $_.Exception.Message + exit 1 + } +} + # Config file location (supports environment variable override) $ConfigFile = if ($env:CCS_CONFIG) { $env:CCS_CONFIG diff --git a/install.ps1 b/install.ps1 index e32b4bb1..b7fcc93f 100644 --- a/install.ps1 +++ b/install.ps1 @@ -205,7 +205,6 @@ if (-not (Test-Path $ConfigFile)) { profiles = @{ glm = "~/.ccs/glm.settings.json" son = "~/.ccs/sonnet.settings.json" - default = "~/.claude/settings.json" } } @@ -232,16 +231,6 @@ if (-not (Test-Path $SonnetSettings)) { Write-Host "| [OK] Sonnet profile exists: $SonnetSettings" } -# Ensure default profile settings file exists -$DefaultSettings = "$ClaudeDir\settings.json" -if (-not (Test-Path $DefaultSettings)) { - New-Item -ItemType Directory -Force -Path $ClaudeDir | Out-Null - @{ env = @{} } | ConvertTo-Json -Depth 10 | Set-Content $DefaultSettings - Write-Host "| [OK] Created default settings: $DefaultSettings" -} else { - Write-Host "| [OK] Default profile exists: $DefaultSettings" -} - Write-Host "└─" Write-Host "" @@ -282,15 +271,15 @@ if ($CurrentProvider -eq "claude") { Write-Host " Quick start:" Write-Host " ccs son # Claude Sonnet (current)" Write-Host " ccs glm # GLM (after adding API key)" - Write-Host " ccs # Default profile" + Write-Host " ccs # Default (no profile)" } elseif ($CurrentProvider -eq "glm") { Write-Host " Quick start:" Write-Host " ccs glm # GLM (current)" Write-Host " ccs son # Claude Sonnet" - Write-Host " ccs # Default profile" + Write-Host " ccs # Default (no profile)" } else { Write-Host " Quick start:" - Write-Host " ccs # Default profile" + Write-Host " ccs # Default (no profile)" Write-Host " ccs son # Claude Sonnet" Write-Host " ccs glm # GLM (after adding API key)" }