A natural language interface for your terminal, powered by Claude. Convert English commands into bash commands using Claude's AI capabilities.
One-line installation:
curl -sSL https://raw.githubusercontent.com/goodlux/claude-cli/main/install.sh | bash
After installation:
- Edit
~/.claude-cli/credentials
and add your Anthropic API key - Start a new terminal or run:
source ~/.claude-cli/bin/claude-cli
One-line uninstallation:
curl -sSL https://raw.githubusercontent.com/goodlux/claude-cli/main/uninstall.sh | bash
Or if you have the repository:
./uninstall.sh
After uninstalling, start a new terminal session or reload your shell configuration:
source ~/.bashrc # or ~/.zshrc if using zsh
If you prefer to inspect everything first:
-
Clone the repository:
git clone https://github.com/goodlux/claude-cli.git cd claude-cli
-
Run the installer:
./install.sh
-
Or install manually:
# Create directories mkdir -p ~/.claude-cli/bin/lib ~/.claude-cli/cache # Copy files cp bin/claude-cli ~/.claude-cli/bin/ cp bin/lib/* ~/.claude-cli/bin/lib/ cp config/config.yml.example ~/.claude-cli/config.yml # Create credentials file echo "ANTHROPIC_API_KEY=your_api_key_here" > ~/.claude-cli/credentials # Set permissions chmod 755 ~/.claude-cli/bin/claude-cli ~/.claude-cli/bin/lib/* chmod 600 ~/.claude-cli/credentials chmod 644 ~/.claude-cli/config.yml # Add to shell config echo 'source ~/.claude-cli/bin/claude-cli' >> ~/.bashrc # or ~/.zshrc
curl
andjq
for API interactionsyq
for YAML configuration management- An Anthropic API key from https://console.anthropic.com/
Convert natural language to commands:
ccli "find all PDFs modified in the last week"
ccli "show me the largest files in this directory"
Manage settings:
# View all settings
claude_settings get
# Change a setting
claude_settings set model claude-3-sonnet-20240229
# Get help
claude_settings help
Show system resource usage and most active processes:
ccli "show me CPU and memory usage, sorting processes by resource consumption"
Find and clean up large files:
ccli "find the 10 largest files in my home directory and show their sizes in human readable format"
Analyze code in current directory:
ccli "count lines of code by file extension in this directory, excluding node_modules"
Monitor system activity:
ccli "show me real-time network connections and their states"
Search and analyze logs:
ccli "find all error messages in today's log files and show their frequency"
- Natural language → bash command conversion
- System-aware context (knows your tools and OS)
- Command confirmation and editing
- Command history tracking
- Tab completion from history
- Settings management
- Configuration persistence
Edit ~/.claude-cli/config.yml
or use the claude_settings
command to customize:
- Model selection
- Context lines
- Safety settings
- API configuration
- OS-specific settings
Example settings management:
# View current configuration
claude_settings get
# Change model
claude_settings set model claude-3-sonnet-20240229
# Adjust context lines
claude_settings set context_lines 500
-
"API key not configured":
edit ~/.claude-cli/credentials # Add your API key
-
"Command not found":
source ~/.bashrc # or ~/.zshrc
-
Missing dependencies:
# Ubuntu/Debian sudo apt-get install curl jq yq # macOS brew install curl jq yq
-
If uninstallation doesn't fully remove the command:
- Start a new terminal session, or
- Source your shell configuration:
source ~/.bashrc # or ~/.zshrc if using zsh
- Your API key is stored locally in
~/.claude-cli/credentials
- The credentials file is created with restricted permissions (600)
- No data is stored outside your local machine
- All API calls are made directly to Anthropic's API
- Report issues: GitHub Issues
- API documentation: https://docs.anthropic.com/
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - feel free to use this in your own projects!