A CLI wrapper that creates an isolated Claude Code installation configured to use DeepSeek V3.1 with 100% Claude Code CLI compatibility. Every command and flag from the official Claude Code CLI works identically.
This project provides a seamless way to use Claude Code with DeepSeek V3.1 while maintaining complete CLI compatibility with the original Claude Code:
- 🔄 100% CLI Compatibility: All Claude Code commands and flags work with
deepseek-claude - 🔒 Isolated Environment: Installs Claude Code in
~/.deepseek-claude/ - 🧠 DeepSeek V3.1 Integration: Pre-configured to use DeepSeek's advanced reasoning model
- 🛠️ System Integration: Adds
deepseek-claudecommand available system-wide - 🚫 No Conflicts: Your original Claude Code installation remains unchanged
- Node.js (v14 or higher)
- npm
- DeepSeek API key (Get one here)
# Temporary setup (for current session)
export DEEPSEEK_API_KEY=your_actual_api_key_here
# Permanent setup (add to shell profile)
echo 'export DEEPSEEK_API_KEY=your_actual_api_key_here' >> ~/.bashrc # or ~/.bash_profile / ~/.zshrc
source ~/.bashrc # or source ~/.bash_profile / ~/.zshrcOption A: Download and run locally
# Make scripts executable (if needed)
chmod +x install-deepseek-claude.sh
# Install DeepSeek Claude
./install-deepseek-claude.shOption B: One-line curl installation
# Install directly from GitHub
curl -L https://raw.githubusercontent.com/iDrwish/deepseek-claude-wrapper/main/install-deepseek-claude.sh | bashcurl -O https://raw.githubusercontent.com/iDrwish/deepseek-claude-wrapper/main/install-deepseek-claude.sh
# Review the script, then run:
chmod +x install-deepseek-claude.sh
./install-deepseek-claude.sh# Navigate to your project
cd my-project
# Launch DeepSeek Claude
deepseek-claudedeepseek-claude provides 100% compatibility with all Claude Code CLI commands and flags. Every feature from the official Claude Code CLI reference works identically, just with DeepSeek V3.1 as the backend.
| Command | DeepSeek Equivalent | Description |
|---|---|---|
claude |
deepseek-claude |
Start interactive REPL |
claude "query" |
deepseek-claude "query" |
Start REPL with initial prompt |
claude -p "query" |
deepseek-claude -p "query" |
Query via SDK, then exit |
claude -c |
deepseek-claude -c |
Continue most recent conversation |
claude update |
deepseek-claude update |
Update to latest version |
claude config |
deepseek-claude config |
Configure settings |
claude mcp |
deepseek-claude mcp |
Configure MCP servers |
claude doctor |
deepseek-claude doctor |
Health diagnostics |
| Flag | Example with DeepSeek | Description |
|---|---|---|
--print, -p |
deepseek-claude -p "query" |
Print response without interactive mode |
--model |
deepseek-claude --model sonnet |
Set model (uses DeepSeek V3.1) |
--output-format |
deepseek-claude -p "query" --output-format json |
Specify output format |
--verbose |
deepseek-claude --verbose |
Enable verbose logging |
--debug |
deepseek-claude --debug |
Enable debug mode |
--continue, -c |
deepseek-claude -c |
Continue recent conversation |
--resume, -r |
deepseek-claude -r "session-id" |
Resume specific session |
--add-dir |
deepseek-claude --add-dir ../apps ../lib |
Add working directories |
--allowedTools |
deepseek-claude --allowedTools "Bash" "Edit" |
Allow specific tools |
--disallowedTools |
deepseek-claude --disallowedTools "Edit" |
Disallow specific tools |
--permission-mode |
deepseek-claude --permission-mode plan |
Set permission mode |
--append-system-prompt |
deepseek-claude --append-system-prompt "Custom" |
Append system prompt |
--max-turns |
deepseek-claude -p --max-turns 3 "query" |
Limit agentic turns |
📚 Complete Reference: See Claude Code CLI Reference for detailed documentation of all commands and flags.
cd my-project
deepseek-claude# Non-interactive with JSON output
deepseek-claude -p "Analyze this codebase" --output-format json
# Continue previous conversation with verbose logging
deepseek-claude -c --verbose
# Debug mode with custom system prompt
deepseek-claude --debug --append-system-prompt "Focus on security"
# Pipe content for analysis
cat logs.txt | deepseek-claude -p "Analyze these logs"
# Resume specific session
deepseek-claude -r "session-123" "Continue the refactoring"# Configure settings (same as Claude)
deepseek-claude config set theme dark
deepseek-claude config list
# Health check
deepseek-claude doctor
# Update to latest version
deepseek-claude updateThe installation creates a transparent wrapper that provides 100% compatibility with all Claude Code CLI commands and flags:
- Creates Isolated Directory:
~/.deepseek-claude/ - Installs Claude Code: Local npm installation in the isolated environment
- Configures Environment: Sets these DeepSeek-specific variables:
ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropicANTHROPIC_AUTH_TOKEN=$DEEPSEEK_API_KEYANTHROPIC_MODEL=DeepSeek-V3.1ANTHROPIC_SMALL_FAST_MODEL=deepseek-chat
- Creates Smart Wrapper: Intercepts
updatecommand, passes everything else to Claude transparently - Adds to PATH: Makes
deepseek-claudeavailable system-wide with full CLI compatibility
deepseek-claude-wrapper/
├── install-deepseek-claude.sh # Main installation script
├── uninstall-deepseek-claude.sh # Clean removal script
└── README.md # This documentation
After installation:
~/.deepseek-claude/
├── node_modules/ # Isolated Claude Code installation
├── package.json # npm configuration
└── deepseek-claude # Environment wrapper script
This setup leverages DeepSeek's full Anthropic API compatibility:
- ✅ Full Tool Support: Function calling and tool usage
- ✅ Streaming Responses: Real-time response streaming
- ✅ Temperature Control: Fine-tune creativity (0.0 - 2.0)
- ✅ System Messages: Custom system prompts
- ✅ Multi-turn Conversations: Context-aware conversations
- ✅ Stop Sequences: Custom stopping conditions
To completely remove DeepSeek Claude:
./uninstall-deepseek-claude.shThis will:
- Remove the
~/.deepseek-claude/directory - Remove any system symlinks
- Leave your original Claude Code installation untouched
If deepseek-claude is not found:
# Check if installed
ls -la ~/.deepseek-claude/
# Manually add to PATH
export PATH="$HOME/.deepseek-claude:$PATH"
# Or restart your terminal# Verify API key is set
echo $DEEPSEEK_API_KEY
# Check DeepSeek platform for key validity
# https://platform.deepseek.com/If you see "Auto-update failed" when starting deepseek-claude:
# This is normal for isolated installations
# Use the built-in update command instead:
deepseek-claude updateWhy this happens: The isolated installation can't auto-update like global installations, but manual updates work perfectly.
# Make scripts executable
chmod +x install-deepseek-claude.sh
chmod +x uninstall-deepseek-claude.shEdit the INSTALL_DIR variable in the installation script:
# Edit install-deepseek-claude.sh
INSTALL_DIR="$HOME/my-custom-location/.deepseek-claude"Add custom variables to the wrapper script:
# Edit ~/.deepseek-claude/deepseek-claude
export CUSTOM_VAR="value"- 🔄 100% Claude CLI Compatibility: Every command and flag from Claude Code CLI works identically
- 🧠 DeepSeek V3.1 Reasoning: Advanced reasoning capabilities with full tool support
- 🔒 Complete Isolation: No interference with existing Claude installations
- 🚀 One-Command Setup: Simple installation process with automatic configuration
- 🛠️ System-wide Access: Available from any directory as
deepseek-claude - 🧹 Easy Management: Built-in update command and clean uninstallation
Note: This project is provided as-is for educational and development purposes. Always verify API compatibility with the latest DeepSeek documentation.