Open Source Model-Independent Alternative to Claude Code
Project description
UnClaude ๐ค
The Open Source, Model-Independent AI Engineer
Your Data. Your Models. Your Rules.
UnClaude is a powerful Agentic Coding Assistant that runs entirely on your machine. It connects to any LLM (Gemini, OpenAI, Anthropic, DeepSeek, Ollama) and provides a fully autonomous pair programmer with memory, browser automation, and multi-agent capabilities.
๐ Quick Start
# Install
pipx install unclaude
# Configure (one-time setup)
unclaude login
# Start coding
unclaude chat "Build me a REST API in FastAPI"
โจ Features
๐ Model Independence
Use any LLM provider without lock-in. Switch between models instantly:
unclaude chat --provider gemini "Fast draft this code"
unclaude chat --provider openai "Review and optimize it"
unclaude chat --provider ollama "Run locally, offline"
Supports: Gemini, GPT-4o, Claude, DeepSeek, Llama, Mistral, Ollama, and 100+ more via LiteLLM
๐ง Infinite Memory
UnClaude remembers everything across sessions using a local SQLite database:
# Explicitly save important facts
unclaude chat "Remember: production API key is in .env.prod"
# Query your history
unclaude chat "What tasks have I done this week?"
Memory is project-scoped for speed: it prioritizes context from your current directory.
๐ค Ralph Mode (Autonomous Engineering)
Give it a task. Walk away. Come back to working code.
unclaude ralph "Build a Snake game in Python with pygame" --feedback "python3 snake.py"
Ralph Mode does:
- ๐ Plans: Generates a
TASK.mdblueprint - ๐ป Codes: Writes multi-file implementations
- โ Tests: Runs your feedback command (tests, linters)
- ๐ง Self-Heals: Analyzes failures and fixes bugs automatically
๐ Browser Automation
UnClaude has eyes. It can see and interact with web applications:
unclaude chat "Open localhost:3000, click the login button, and take a screenshot"
Capabilities:
- Open URLs and navigate
- Click, type, and interact with elements
- Take screenshots for visual verification
- Read page content and extract data
Powered by Playwright
๐ Git Integration
Full version control from within the agent:
unclaude chat "Show me the git diff and commit with message 'Fix auth bug'"
Supported actions: status, diff, add, commit, push, branch, checkout, log
๐ฅ Subagents
Spawn specialized agents for focused tasks:
unclaude chat "Use the reviewer subagent to analyze my authentication code"
Built-in templates:
| Template | Purpose |
|---|---|
reviewer |
Code review for bugs and style |
tester |
Write comprehensive tests |
documenter |
Generate documentation |
debugger |
Investigate and fix bugs |
โก Background Agents
Run long tasks without blocking your terminal:
# Start a background task
unclaude background "Refactor all Python files to use type hints"
# Check status later
unclaude jobs
๐ Hooks System
Automate workflows with pre/post tool hooks:
# .unclaude/hooks.yaml
hooks:
- name: auto-format
event: post_tool
tool: file_edit
command: "ruff format ."
- name: auto-test
event: post_tool
tool: file_write
command: "pytest -x"
๐ฅ๏ธ Headless Mode (CI/CD)
Run UnClaude in non-interactive pipelines:
# For scripts and automation
unclaude chat "Generate unit tests for api.py" --headless --json
Output is clean JSON:
{"response": "I've created tests in test_api.py...", "success": true}
๐ฏ Skills (Reusable Workflows)
Define repeatable AI workflows as YAML:
# Create a new skill
unclaude skills --create deploy-prod
# List available skills
unclaude skills --list
# Run a skill
unclaude skills --run deploy-prod
Skill file example (~/.unclaude/skills/deploy-prod.yaml):
name: deploy-prod
description: Deploy to production with tests
steps:
- description: Run all tests
command: npm test
- description: Build for production
command: npm run build
- description: Deploy to server
command: ssh prod "cd app && git pull && pm2 restart all"
You can also define skills inline in your UNCLAUDE.md:
## Skills
skill: format-code
description: Format all code files
1. Run prettier on TypeScript files `npx prettier --write "**/*.ts"`
2. Run black on Python files `black .`
3. Run gofmt on Go files `gofmt -w .`
๐ Plugins
Extend UnClaude with custom plugins:
# Create a plugin
unclaude plugins --create my-plugin
# List plugins
unclaude plugins --list
Plugins can add new tools, modify behavior, or integrate with external services.
๐ MCP (Model Context Protocol)
Connect to external MCP servers for extended capabilities:
# Create MCP config template
unclaude mcp --init
# List configured servers
unclaude mcp --list
MCP config (~/.unclaude/mcp.json):
{
"servers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {"GITHUB_TOKEN": "your-token"}
}
}
}
๐ Project Configuration
Create an UNCLAUDE.md in your project root:
# Project: My App
## Commands
- `npm run dev` - Start development server
- `npm test` - Run tests
## Architecture
- Frontend: React + TypeScript
- Backend: FastAPI
UnClaude automatically reads this for project context.
๐ฆ Installation
Recommended
pipx install unclaude
Alternatives
# Using pip
pip install unclaude
# From source (for development)
git clone https://github.com/anzal1/unclaude.git
cd unclaude && pip install -e .
Browser Support
playwright install chromium
โ๏ธ Configuration
# Interactive setup
unclaude login
Or use environment variables:
export GEMINI_API_KEY="your-key"
export OPENAI_API_KEY="your-key"
๐ ๏ธ All Commands
| Command | Description |
|---|---|
unclaude chat |
Interactive chat session |
unclaude ralph |
Autonomous task completion |
unclaude plan |
Generate execution plan only |
unclaude background |
Run task in background |
unclaude jobs |
Check background job status |
unclaude login |
Configure API keys |
unclaude init |
Create UNCLAUDE.md template |
unclaude plugins |
Manage plugins |
unclaude skills |
Manage reusable workflows |
unclaude mcp |
Configure MCP servers |
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ UnClaude CLI โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ AgentLoop (Orchestrator) โ
โ โโโ ContextLoader (UNCLAUDE.md) โ
โ โโโ MemoryStore (SQLite) โ
โ โโโ HooksEngine (pre/post automation) โ
โ โโโ Tool Registry โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Tools โ
โ โโโ File (read, write, edit, grep) โ
โ โโโ Bash (terminal execution) โ
โ โโโ Git (version control) โ
โ โโโ Browser (Playwright) โ
โ โโโ Memory (search, save) โ
โ โโโ Subagent (spawn specialists) โ
โ โโโ Web (fetch, search) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ LiteLLM (100+ Model Providers) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ค Contributing
We welcome contributions! See CONTRIBUTING.md.
git clone https://github.com/anzal1/unclaude.git
cd unclaude
pip install -e ".[dev]"
pytest
๐ License
Apache 2.0 โ Open Source forever.
Built with โค๏ธ by Anzal & The Community
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file unclaude-0.2.0.tar.gz.
File metadata
- Download URL: unclaude-0.2.0.tar.gz
- Upload date:
- Size: 48.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffbd1b972072f848387abc1b0e0582c3a14e937279c37f5e6767b84182f3235f
|
|
| MD5 |
344b3e1b2a35531bfb45f7653ea61568
|
|
| BLAKE2b-256 |
d08a98502c510d302d61327dd9431e9f3ea9ecdc38e4d3fe4ba719772240fa96
|
Provenance
The following attestation bundles were made for unclaude-0.2.0.tar.gz:
Publisher:
publish.yml on anzal1/unclaude
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
unclaude-0.2.0.tar.gz -
Subject digest:
ffbd1b972072f848387abc1b0e0582c3a14e937279c37f5e6767b84182f3235f - Sigstore transparency entry: 813307862
- Sigstore integration time:
-
Permalink:
anzal1/unclaude@1f552bd86c3787c8c9787650969d0389652346ab -
Branch / Tag:
refs/heads/main - Owner: https://github.com/anzal1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1f552bd86c3787c8c9787650969d0389652346ab -
Trigger Event:
push
-
Statement type:
File details
Details for the file unclaude-0.2.0-py3-none-any.whl.
File metadata
- Download URL: unclaude-0.2.0-py3-none-any.whl
- Upload date:
- Size: 60.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab72a2e009a810acb2230052d9cbe0754ae72caf07f1b1e574dc899fb4f48147
|
|
| MD5 |
8cac72f2a0c85ceed99b415c37170ffe
|
|
| BLAKE2b-256 |
6c370d8a0a4f0a5f471095e0b09a96c6ef9c2a21b6568a57d17e6f068f9e841e
|
Provenance
The following attestation bundles were made for unclaude-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on anzal1/unclaude
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
unclaude-0.2.0-py3-none-any.whl -
Subject digest:
ab72a2e009a810acb2230052d9cbe0754ae72caf07f1b1e574dc899fb4f48147 - Sigstore transparency entry: 813307864
- Sigstore integration time:
-
Permalink:
anzal1/unclaude@1f552bd86c3787c8c9787650969d0389652346ab -
Branch / Tag:
refs/heads/main - Owner: https://github.com/anzal1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1f552bd86c3787c8c9787650969d0389652346ab -
Trigger Event:
push
-
Statement type: