Note: Cloud Coder is a fork of OpenClaude, building on its multi-provider foundation with a focus on hybrid cloud/local inference through Ollama Cloud.
Cloud Coder is an AI coding assistant that combines the power of cloud LLMs with affordable local inference through Ollama Cloud.
Run large models (480B+ parameters) on Ollama's cloud infrastructure while using your own hardware for smaller tasks. One CLI across all backends: OpenAI-compatible APIs, Gemini, GitHub Models, Codex, Ollama (local and cloud), Atomic Chat, and more.
Quick Start | Setup Guides | Providers | Source Build | VS Code Extension | Community
- Cloud power, affordable hardware: Run 480B+ parameter models on Ollama Cloud while using cheaper local hardware for everyday tasks
- One CLI for all backends: OpenAI, Gemini, GitHub Models, Codex, Ollama (local and cloud), Atomic Chat, and more
- Save provider profiles inside the app with
/provider - Complete agent workflows: bash, file tools, grep, glob, agents, tasks, MCP, and web tools
- VS Code extension for launch integration and theme support
npm install -g cloudcoderIf the install later reports ripgrep not found, install ripgrep system-wide and confirm rg --version works in the same terminal before starting Cloud Coder.
cloudcoderInside Cloud Coder:
- run
/providerfor guided provider setup and saved profiles - run
/onboard-githubfor GitHub Models onboarding
macOS / Linux:
export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_API_KEY=sk-your-key-here
export OPENAI_MODEL=gpt-4o
cloudcoderWindows PowerShell:
$env:CLAUDE_CODE_USE_OPENAI="1"
$env:OPENAI_API_KEY="sk-your-key-here"
$env:OPENAI_MODEL="gpt-4o"
cloudcodermacOS / Linux:
export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_MODEL=qwen2.5-coder:7b
cloudcoderWindows PowerShell:
$env:CLAUDE_CODE_USE_OPENAI="1"
$env:OPENAI_BASE_URL="http://localhost:11434/v1"
$env:OPENAI_MODEL="qwen2.5-coder:7b"
cloudcoderCloud Coder defaults to Ollama Cloud on first run, giving you access to powerful models without needing expensive local hardware:
ollama signin # Required once for cloud models
cloudcoder # Starts with glm-5:cloud by defaultCloud models run on Ollama's infrastructure, so you get datacenter-grade inference for large models (480B+) while your local machine handles lighter tasks. This hybrid approach keeps costs low without sacrificing capability.
Beginner-friendly guides:
Advanced and source-build guides:
| Provider | Setup Path | Notes |
|---|---|---|
| OpenAI-compatible | /provider or env vars |
Works with OpenAI, OpenRouter, DeepSeek, Groq, Mistral, LM Studio, and other compatible /v1 servers |
| Gemini | /provider or env vars |
Supports API key, access token, or local ADC workflow on current main |
| GitHub Models | /onboard-github |
Interactive onboarding with saved credentials |
| Codex | /provider |
Uses existing Codex credentials when available |
| Ollama | /provider or env vars |
Local inference with no API key; cloud models (:cloud suffix) require ollama signin. The /model command shows only models installed on your Ollama server (ollama list to view, ollama pull to add) |
| Atomic Chat | advanced setup | Local Apple Silicon backend |
| Bedrock / Vertex / Foundry | env vars | Additional provider integrations for supported environments |
- Tool-driven coding workflows: Bash, file read/write/edit, grep, glob, agents, tasks, MCP, and slash commands
- Streaming responses: Real-time token output and tool progress
- Tool calling: Multi-step tool loops with model calls, tool execution, and follow-up responses
- Images: URL and base64 image inputs for providers that support vision
- Provider profiles: Guided setup plus saved
.openclaude-profile.jsonsupport - Hybrid cloud/local backends: Cloud APIs via Ollama Cloud for heavy models, local servers for lightweight tasks, Apple Silicon inference
Cloud Coder supports multiple providers, but behavior is not identical across all of them.
- Anthropic-specific features may not exist on other providers
- Tool quality depends heavily on the selected model
- Smaller local models can struggle with long multi-step tool flows
- Some providers impose lower output caps than the CLI defaults, and Cloud Coder adapts where possible
For best results, use models with strong tool/function calling support.
Recommended workflow: Use Ollama Cloud models (e.g., qwen3.5:397b-cloud, glm-5:cloud) for complex reasoning and large codebases. Fall back to local models for quick edits and latency-sensitive tasks.
Cloud Coder can route different agents to different models through settings-based routing. This is useful for cost optimization or splitting work by model strength.
Add to ~/.claude/settings.json:
{
"agentModels": {
"deepseek-chat": {
"base_url": "https://api.deepseek.com/v1",
"api_key": "sk-your-key"
},
"gpt-4o": {
"base_url": "https://api.openai.com/v1",
"api_key": "sk-your-key"
}
},
"agentRouting": {
"Explore": "deepseek-chat",
"Plan": "gpt-4o",
"general-purpose": "gpt-4o",
"frontend-dev": "deepseek-chat",
"default": "gpt-4o"
}
}When no routing match is found, the global provider remains the fallback.
Note:
api_keyvalues insettings.jsonare stored in plaintext. Keep this file private and do not commit it to version control.
By default, WebSearch works on non-Anthropic models using DuckDuckGo. This gives GPT-4o, DeepSeek, Gemini, Ollama, and other OpenAI-compatible providers a free web search path out of the box.
Note: DuckDuckGo fallback works by scraping search results and may be rate-limited, blocked, or subject to DuckDuckGo's Terms of Service. If you want a more reliable supported option, configure Firecrawl.
For Anthropic-native backends and Codex responses, Cloud Coder keeps the native provider web search behavior.
WebFetch works, but its basic HTTP plus HTML-to-markdown path can still fail on JavaScript-rendered sites or sites that block plain HTTP requests.
Set a Firecrawl API key if you want Firecrawl-powered search/fetch behavior:
export FIRECRAWL_API_KEY=your-key-hereWith Firecrawl enabled:
WebSearchcan use Firecrawl's search API while DuckDuckGo remains the default free path for non-Claude modelsWebFetchuses Firecrawl's scrape endpoint instead of raw HTTP, handling JS-rendered pages correctly
Free tier at firecrawl.dev includes 500 credits. The key is optional.
Cloud Coder can be run as a headless gRPC service, allowing you to integrate its agentic capabilities (tools, bash, file editing) into other applications, CI/CD pipelines, or custom user interfaces. The server uses bidirectional streaming to send real-time text chunks, tool calls, and request permissions for sensitive commands.
Start the core engine as a gRPC service on localhost:50051:
npm run dev:grpc| Variable | Default | Description |
|---|---|---|
GRPC_PORT |
50051 |
Port the gRPC server listens on |
GRPC_HOST |
localhost |
Bind address. Use 0.0.0.0 to expose on all interfaces (not recommended without authentication) |
We provide a lightweight CLI client that communicates exclusively over gRPC. It acts just like the main interactive CLI, rendering colors, streaming tokens, and prompting you for tool permissions (y/n) via the gRPC action_required event.
In a separate terminal, run:
npm run dev:grpc:cliNote: The gRPC definitions are located in src/proto/openclaude.proto. You can use this file to generate clients in Python, Go, Rust, or any other language.
bun install
bun run build
node dist/cli.mjsThe built binary is available as cloudcoder (with openclaude as a compatibility alias).
Helpful commands:
bun run devbun testbun run test:coveragebun run security:pr-scan -- --base origin/mainbun run smokebun run doctor:runtimebun run verify:privacy- focused
bun test ...runs for the areas you touch
Cloud Coder uses Bun's built-in test runner for unit tests.
Run the full unit suite:
bun testGenerate unit test coverage:
bun run test:coverageOpen the visual coverage report:
open coverage/index.htmlIf you already have coverage/lcov.info and only want to rebuild the UI:
bun run test:coverage:uiUse focused test runs when you only touch one area:
bun run test:providerbun run test:provider-recommendationbun test path/to/file.test.ts
Recommended contributor validation before opening a PR:
bun run buildbun run smokebun run test:coveragefor broader unit coverage when your change affects shared runtime or provider logic- focused
bun test ...runs for the files and flows you changed
Coverage output is written to coverage/lcov.info, and Cloud Coder also generates a git-activity-style heatmap at coverage/index.html.
src/- core CLI/runtimescripts/- build, verification, and maintenance scriptsdocs/- setup, contributor, and project documentationpython/- standalone Python helpers and their testsvscode-extension/openclaude-vscode/- VS Code extension.github/- repo automation, templates, and CI configurationbin/- CLI launcher entrypoints (cloudcodeis the primary,openclaudefor compatibility)
The repo includes a VS Code extension in vscode-extension/openclaude-vscode for Cloud Coder launch integration, provider-aware control-center UI, and theme support.
If you believe you found a security issue, see SECURITY.md.
- Use GitHub Discussions for Q&A, ideas, and community conversation
- Use GitHub Issues for confirmed bugs and actionable feature work
Contributions are welcome.
For larger changes, open an issue first so the scope is clear before implementation. Helpful validation commands include:
bun run buildbun run test:coveragebun run smoke- focused
bun test ...runs for touched areas
Cloud Coder is an independent community project and is not affiliated with, endorsed by, or sponsored by Anthropic.
Cloud Coder is a fork of OpenClaude, which itself originated from the Claude Code codebase. Cloud Coder has been substantially modified to support hybrid cloud/local inference through Ollama Cloud. "Claude" and "Claude Code" are trademarks of Anthropic PBC. See LICENSE for details.
See LICENSE.