-
Notifications
You must be signed in to change notification settings - Fork 109
feat: add custom execution command settings for CLI providers #686
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: add custom execution command settings for CLI providers #686
Conversation
- Add ProviderCustomConfig interface for storing custom CLI flags - Add getProviderCustomConfig and getAllProviderCustomConfigs functions - Add updateProviderCustomConfig function for CRUD operations - Return shallow/deep copies from getter functions to prevent cache corruption - Normalize custom config values in normalizeSettings function
- Add providers:getCustomConfig handler to retrieve single config - Add providers:getAllCustomConfigs handler to retrieve all configs - Add providers:updateCustomConfig handler to update/delete config - Expose APIs to renderer via preload contextBridge
- Add ProviderCustomConfig and ProviderCustomConfigs types - Add type definitions for getProviderCustomConfig - Add type definitions for getAllProviderCustomConfigs - Add type definitions for updateProviderCustomConfig
- Add parseShellArgs function for proper shell argument parsing - Support single quotes, double quotes, and escape characters - Apply custom provider config overrides at command execution time - Use parseShellArgs for resumeFlag, defaultArgs, autoApproveFlag, initialPromptFlag
- Add CustomCommandModal component with granular flag configuration - Add Escape key handler for modal dismissal - Add settings button to detected providers in CliProvidersList - Add command preview, reset to defaults, and save functionality - Improve accessibility with aria-label on tooltip buttons
|
@Devdha is attempting to deploy a commit to the General Action Team on Vercel. A member of the Team first needs to authorize it. |
|
Imho thats not good UX. I mean, yes an "advanced mode" would be beneficial, but forcing the cli onto every user is a bad decision imho. |
|
Thanks for the feedback! I think there may be a misunderstanding. This PR doesn't force anything. the default behavior remains exactly the same. The customize icon only appears for users who want to customize. If you never click it, nothing changes. It's essentially an optional "advanced settings" panel hidden unless explicitly opened. |
Issue #685
Summary
Add the ability to customize CLI execution commands for each provider in Settings > Connections. Users can now override:
--yolofor Codex instead of--full-auto)This addresses #659 and similar requests for custom CLI flags.
Changes
src/main/settings.ts- AddProviderCustomConfigtype and CRUD functions with cache-safe getterssrc/main/ipc/connectionsIpc.ts- Add IPC handlers for get/update custom configssrc/main/preload.ts- Expose APIs to renderersrc/main/services/ptyManager.ts- AddparseShellArgs()for proper shell-style argument parsing (supports quoted strings)src/renderer/components/CustomCommandModal.tsx- New modal with granular flag configuration and live previewsrc/renderer/components/CliProvidersList.tsx- Add settings gear icon for detected providerssrc/renderer/types/electron-api.d.ts- TypeScript definitionsScreenshots