diff --git a/apps/app/src/components/views/settings-view/config/navigation.ts b/apps/app/src/components/views/settings-view/config/navigation.ts index c6f5432a..b98a6e66 100644 --- a/apps/app/src/components/views/settings-view/config/navigation.ts +++ b/apps/app/src/components/views/settings-view/config/navigation.ts @@ -2,7 +2,6 @@ import type { LucideIcon } from "lucide-react"; import { Key, Terminal, - Atom, Palette, LayoutGrid, Settings2, @@ -20,7 +19,6 @@ export interface NavigationItem { export const NAV_ITEMS: NavigationItem[] = [ { id: "api-keys", label: "API Keys", icon: Key }, { id: "claude", label: "Claude", icon: Terminal }, - { id: "codex", label: "Codex", icon: Atom }, { id: "appearance", label: "Appearance", icon: Palette }, { id: "kanban", label: "Kanban Display", icon: LayoutGrid }, { id: "keyboard", label: "Keyboard Shortcuts", icon: Settings2 }, diff --git a/apps/app/src/components/views/settings-view/feature-defaults/feature-defaults-section.tsx b/apps/app/src/components/views/settings-view/feature-defaults/feature-defaults-section.tsx index 83d8df35..9a274c60 100644 --- a/apps/app/src/components/views/settings-view/feature-defaults/feature-defaults-section.tsx +++ b/apps/app/src/components/views/settings-view/feature-defaults/feature-defaults-section.tsx @@ -59,7 +59,7 @@ export function FeatureDefaultsSection({

When enabled, the Add Feature dialog will show only AI profiles and hide advanced model tweaking options (Claude SDK, thinking - levels, and OpenAI Codex CLI). This creates a cleaner, less + levels). This creates a cleaner, less overwhelming UI. You can always disable this to access advanced settings.

diff --git a/apps/app/src/components/views/setup-view/hooks/use-cli-installation.ts b/apps/app/src/components/views/setup-view/hooks/use-cli-installation.ts index cc9c8bba..e406d871 100644 --- a/apps/app/src/components/views/setup-view/hooks/use-cli-installation.ts +++ b/apps/app/src/components/views/setup-view/hooks/use-cli-installation.ts @@ -2,7 +2,7 @@ import { useState, useCallback } from "react"; import { toast } from "sonner"; interface UseCliInstallationOptions { - cliType: "claude" | "codex"; + cliType: "claude"; installApi: () => Promise; onProgressEvent?: (callback: (progress: any) => void) => (() => void) | undefined; onSuccess?: () => void; diff --git a/apps/app/src/components/views/setup-view/hooks/use-cli-status.ts b/apps/app/src/components/views/setup-view/hooks/use-cli-status.ts index 1aa0d094..4249b95c 100644 --- a/apps/app/src/components/views/setup-view/hooks/use-cli-status.ts +++ b/apps/app/src/components/views/setup-view/hooks/use-cli-status.ts @@ -1,7 +1,7 @@ import { useState, useCallback } from "react"; interface UseCliStatusOptions { - cliType: "claude" | "codex"; + cliType: "claude"; statusApi: () => Promise; setCliStatus: (status: any) => void; setAuthStatus: (status: any) => void; @@ -33,65 +33,35 @@ export function useCliStatus({ setCliStatus(cliStatus); if (result.auth) { - if (cliType === "claude") { - // Validate method is one of the expected values, default to "none" - const validMethods = [ - "oauth_token_env", - "oauth_token", - "api_key", - "api_key_env", - "credentials_file", - "cli_authenticated", - "none", - ] as const; - type AuthMethod = (typeof validMethods)[number]; - const method: AuthMethod = validMethods.includes( - result.auth.method as AuthMethod - ) - ? (result.auth.method as AuthMethod) - : "none"; - const authStatus = { - authenticated: result.auth.authenticated, - method, - hasCredentialsFile: false, - oauthTokenValid: - result.auth.hasStoredOAuthToken || - result.auth.hasEnvOAuthToken, - apiKeyValid: - result.auth.hasStoredApiKey || result.auth.hasEnvApiKey, - hasEnvOAuthToken: result.auth.hasEnvOAuthToken, - hasEnvApiKey: result.auth.hasEnvApiKey, - }; - setAuthStatus(authStatus); - } else { - // Codex auth status mapping - const mapAuthMethod = (method?: string): any => { - switch (method) { - case "cli_verified": - return "cli_verified"; - case "cli_tokens": - return "cli_tokens"; - case "auth_file": - return "api_key"; - case "env_var": - return "env"; - default: - return "none"; - } - }; - - const method = mapAuthMethod(result.auth.method); - const authStatus = { - authenticated: result.auth.authenticated, - method, - apiKeyValid: - method === "cli_verified" || method === "cli_tokens" - ? undefined - : result.auth.authenticated, - }; - console.log(`[${cliType} Setup] Auth Status:`, authStatus); - setAuthStatus(authStatus); - } + // Validate method is one of the expected values, default to "none" + const validMethods = [ + "oauth_token_env", + "oauth_token", + "api_key", + "api_key_env", + "credentials_file", + "cli_authenticated", + "none", + ] as const; + type AuthMethod = (typeof validMethods)[number]; + const method: AuthMethod = validMethods.includes( + result.auth.method as AuthMethod + ) + ? (result.auth.method as AuthMethod) + : "none"; + const authStatus = { + authenticated: result.auth.authenticated, + method, + hasCredentialsFile: false, + oauthTokenValid: + result.auth.hasStoredOAuthToken || + result.auth.hasEnvOAuthToken, + apiKeyValid: + result.auth.hasStoredApiKey || result.auth.hasEnvApiKey, + hasEnvOAuthToken: result.auth.hasEnvOAuthToken, + hasEnvApiKey: result.auth.hasEnvApiKey, + }; + setAuthStatus(authStatus); } } } catch (error) { diff --git a/apps/app/src/components/views/setup-view/hooks/use-oauth-authentication.ts b/apps/app/src/components/views/setup-view/hooks/use-oauth-authentication.ts index 4648231e..f1b8957f 100644 --- a/apps/app/src/components/views/setup-view/hooks/use-oauth-authentication.ts +++ b/apps/app/src/components/views/setup-view/hooks/use-oauth-authentication.ts @@ -4,7 +4,7 @@ import { getElectronAPI } from "@/lib/electron"; type AuthState = "idle" | "running" | "success" | "error" | "manual"; interface UseOAuthAuthenticationOptions { - cliType: "claude" | "codex"; + cliType: "claude"; enabled?: boolean; } @@ -70,11 +70,8 @@ export function useOAuthAuthentication({ } try { - // Call the appropriate auth API based on cliType - const result = - cliType === "claude" - ? await api.setup.authClaude() - : await api.setup.authCodex?.(); + // Call the auth API + const result = await api.setup.authClaude(); // Cleanup subscription if (unsubscribeRef.current) { diff --git a/apps/app/src/components/views/setup-view/steps/welcome-step.tsx b/apps/app/src/components/views/setup-view/steps/welcome-step.tsx index 1c7e945b..d5d4b0b0 100644 --- a/apps/app/src/components/views/setup-view/steps/welcome-step.tsx +++ b/apps/app/src/components/views/setup-view/steps/welcome-step.tsx @@ -40,19 +40,6 @@ export function WelcomeStep({ onNext }: WelcomeStepProps) { - - - - - Codex CLI - - - -

- OpenAI's GPT-5.1 Codex for advanced code generation tasks -

-
-