cc-quick-profile
A cross-platform system tray GUI application that allows you to quickly switch between Claude Code profiles. Easily manage multiple API configurations and switch between them with a single click.
You need to manually restart Claude Code for the new profile to take effect.
Features
- ๐ Quick Profile Switching: Switch Claude Code profiles instantly from system tray
- ๐ Cross-Platform: Full support for Windows, macOS, and Linux
- โก Minimal Resource Usage: Lightweight system tray application
- ๐ง Easy Management: Add, activate, and manage profiles through intuitive UI
- ๐ Secure Storage: Profile configurations stored locally and securely
- ๐ฏ Smart Sync: Automatic synchronization with Claude Code settings
- โจ Modern UI: Clean interface built with Fyne framework
- โ
Windows (x64, ARM64)
- โ
macOS (Intel, Apple Silicon)
- โ
Linux (x64, ARM64)
Requirements
- Go 1.24.5 or later
- Task for development (optional)
Installation
From Source
go install github.com/ipfans/cc-quick-profile@latest
From Releases
Download pre-built binaries from the releases page.
Quick Start
- Launch the application - The system tray icon will appear
- Add your first profile - Right-click the tray icon and select "ๆทปๅ ๆฐ้
็ฝฎ"
- Fill in the details:
- Profile Name: A friendly name for your configuration
- API URL: Your Claude API endpoint
- API Key: Your authentication token
- Activate the profile - Click on the profile name in the tray menu
- Restart Claude Code - You need to manually restart Claude Code for the new profile to take effect
- Start using Claude Code with your selected profile!
Configuration
The application manages two types of settings:
Application Settings
- Windows:
%APPDATA%\cc-quick-profile\settings.json
- macOS/Linux:
$HOME/.config/cc-quick-profile/settings.json
Claude Code Integration
- All platforms:
$HOME/.claude/settings.json (managed automatically)
- Sets
ANTHROPIC_AUTH_TOKEN and ANTHROPIC_BASE_URL environment variables
Development
This project uses Task for build automation.
Common Commands
# Show available tasks
task
# Build and run
task run
# Build for current platform
task build
# Build for all platforms
task build:all
# Run tests and checks
task check
Project Structure
โโโ main.go # Application entry point and system tray logic
โโโ assets/ # Embedded resources (icons, templates)
โโโ claude/ # Claude Code settings management
โโโ config/ # Application configuration management
โโโ models/ # Data structures (Profile, Settings)
โโโ ui/ # User interface components (modal dialogs)
โโโ Taskfile.yml # Build automation tasks
โโโ go.mod # Go module dependencies
How It Works
- Profile Storage: Your profiles are stored locally in a JSON configuration file
- System Tray Integration: The application runs in the background with a system tray icon
- Claude Integration: When you activate a profile, the app updates Claude Code's settings automatically (requires Claude Code restart to take effect)
- Cross-Platform: Built with Fyne, ensuring consistent behavior across all supported platforms
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature)
- Make your changes
- Run
task check to ensure code quality
- Commit your changes (
git commit -am 'Add amazing feature')
- Push to the branch (
git push origin feature/amazing-feature)
- Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.