
Research
/Security News
Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.
ai-claude-start
Advanced tools
English | 简体中文
Multi-profile Claude Code launcher with secure credential management.
keytar for OS-level secure storage, with automatic fallback to local file storageANTHROPIC_* variables before injection to prevent conflictsANTHROPIC_AUTH_TOKEN for credentials--cmd flag and CLAUDE_CMD environment variable for testing without Claude CLInpm install -g ai-claude-start
Or use directly with npx:
npx ai-claude-start
Run the setup wizard to create your first profile:
ai-claude-start setup
You'll be guided through selecting a preset (Anthropic, Moonshot, IMDS) or creating a custom profile.
With interactive selection (multiple profiles):
claude-start
# Shows selection menu:
# ? Select a profile to use:
# ❯ anthropic (default)
# moonshot
# bigmodel
Auto-select (single profile):
claude-start
# Automatically uses the only profile
Specify profile directly:
claude-start my-profile
Quick profile syntax (shorthand):
claude-start -moonshot # Use -profilename syntax
claude-start -bigmodel --version # Combine with Claude arguments
Pass arguments to Claude:
claude-start my-profile --version
claude-start --help # Shows selection, then passes --help
setupInteractive wizard to create or update a profile.
ai-claude-start setup
listDisplay all configured profiles with their settings and credential status.
ai-claude-start list
default <name>Set the default profile to use when no profile is specified.
ai-claude-start default my-profile
delete <name>Delete a profile and its stored credentials.
ai-claude-start delete my-profile
doctorCheck system health: keytar availability, profiles, credentials, and Claude CLI presence.
ai-claude-start doctor
A profile consists of 3-4 fields:
{
name: string; // Unique identifier
baseUrl: string; // API base URL
model?: string; // Optional model name
token: string; // ANTHROPIC_AUTH_TOKEN (stored securely)
}
Anthropic (Official)
https://api.anthropic.comclaude-sonnet-4-5-20250929Moonshot
https://api.moonshot.cn/anthropicmoonshot-v1-8kBigModel (智谱)
https://open.bigmodel.cn/api/anthropicglm-4-plusCustom
When launching Claude, all existing ANTHROPIC_* environment variables are removed to prevent conflicts.
Two environment variables are set:
ANTHROPIC_AUTH_TOKEN: Your credential (always)ANTHROPIC_BASE_URL: The base URL (only if not the default Anthropic URL)Example for Moonshot:
ANTHROPIC_AUTH_TOKEN=your-moonshot-token
ANTHROPIC_BASE_URL=https://api.moonshot.cn/anthropic
If a model is configured in the profile, the --model parameter is automatically added:
claude --model glm-4-plus [other arguments...]
For testing or development without the actual Claude CLI installed:
--cmd Flagai-claude-start --cmd "node -e 'console.log(process.env.ANTHROPIC_API_KEY)'"
CLAUDE_CMD Environment Variableexport CLAUDE_CMD="node -e 'console.log(process.env.ANTHROPIC_API_KEY)'"
ai-claude-start
This is useful for:
When available, credentials are stored in your operating system's secure keychain:
If keytar is unavailable (e.g., missing system dependencies), credentials are stored in:
~/.ai-claude-profiles.json
⚠️ Warning: Fallback mode stores credentials in plaintext. The tool will display a warning when using this mode.
To enable secure storage, ensure your system has the required dependencies for keytar.
git clone <repository-url>
cd ai-claude-start
npm install
npm run build
npm link
npm test
npm run build
To test without affecting your real Claude Code configuration:
# Use isolated config file
export AI_CLAUDE_CONFIG_PATH="/tmp/test-config.json"
# Now all commands use the test config
ai-claude-start setup
ai-claude-start list
ai-claude-start doctor
# Clean up
rm /tmp/test-config.json
unset AI_CLAUDE_CONFIG_PATH
Or run the safe demo script:
./demo-safe.sh
See TESTING.md for comprehensive testing strategies.
ai-claude-start/
├── src/
│ ├── types.ts # Type definitions and presets
│ ├── storage.ts # Configuration and credential management
│ ├── commands.ts # CLI command implementations
│ ├── executor.ts # Claude execution and environment handling
│ ├── cli.ts # Main CLI entry point
│ ├── executor.test.ts # Tests for executor
│ └── storage.test.ts # Tests for storage
├── dist/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
├── vitest.config.ts
├── .gitignore
├── LICENSE
├── README.md
├── README_CN.md # Chinese documentation
└── Other docs...
MIT
Contributions are welcome! Please feel free to submit a Pull Request.
If you see this warning, keytar couldn't be loaded. Credentials will be stored in plaintext. To fix:
macOS: Usually works out of the box
Linux: Install libsecret-1-dev:
sudo apt-get install libsecret-1-dev # Debian/Ubuntu
sudo yum install libsecret-devel # Fedora/RHEL
Windows: Usually works out of the box
Then reinstall:
npm install -g ai-claude-start --force
The tool requires the Claude CLI to be installed and in your PATH. Install it from https://claude.ai or use the --cmd flag for testing.
Run ai-claude-start list to see available profiles, or ai-claude-start setup to create a new one.
Verify that environment variables are correctly injected:
ai-claude-start profile-name --cmd "node -e \"console.log('Token:', process.env.ANTHROPIC_AUTH_TOKEN ? 'SET' : 'NOT SET'); console.log('URL:', process.env.ANTHROPIC_BASE_URL)\""
Should output:
Token: SET
URL: https://api.moonshot.cn/anthropic (if not default URL)
See TROUBLESHOOTING.md for more troubleshooting information.
# Configure Anthropic official
ai-claude-start setup
# Choose: Anthropic
# Name: anthropic
# Token: [your Anthropic API key]
# Configure Moonshot
ai-claude-start setup
# Choose: Moonshot
# Name: moonshot
# Token: [your Moonshot API key]
# Configure BigModel
ai-claude-start setup
# Choose: BigModel (智谱)
# Name: bigmodel
# Model: glm-4-plus (or leave empty for default)
# Token: [your BigModel API key]
# Method 1: Interactive selection
claude-start
? Select a profile to use:
❯ anthropic (default)
moonshot
bigmodel
# Method 2: Direct specification
claude-start moonshot # Use Moonshot
claude-start bigmodel # Use BigModel
claude-start anthropic # Use Anthropic
# Method 3: Quick syntax (shorthand)
claude-start -moonshot # Use -profilename
claude-start -bigmodel # Faster typing
# Set the most commonly used as default
ai-claude-start default moonshot
# Now direct run will use moonshot by default
claude-start
Add to your ~/.bashrc or ~/.zshrc:
# Quick launch specific profiles
alias claude-cn="claude-start moonshot"
alias claude-zp="claude-start bigmodel"
alias claude-official="claude-start anthropic"
# Usage
claude-cn # Use Moonshot (China)
claude-zp # Use BigModel (智谱)
claude-official # Use Anthropic official
See USAGE_EXAMPLES.md for more real-world usage scenarios.
FAQs
Multi-profile Claude CLI launcher with secure credential management
The npm package ai-claude-start receives a total of 3 weekly downloads. As such, ai-claude-start popularity was classified as not popular.
We found that ai-claude-start demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.

Security News
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.