Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

914 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenWarp

OpenWarp

A fully decentralized terminal — your AI, your agents, your keys, your machine.

OpenWarp is a community fork of Warp that strips Warp's mandatory cloud dependency while preserving the full Warp terminal experience. It opens up the AI provider layer, lets you plug in any third-party CLI agent, ships a built-in SSH host manager with remote file browsing and code review, and fixes a number of upstream rendering issues — all while keeping every credential, conversation, and agent history on your own machine.

Download · 简体中文 · 日本語 · Upstream Warp

Early development. Pre-release builds only — expect rough edges. Not affiliated with Warp, Inc.


Why OpenWarp

Upstream Warp ties AI, accounts, sync, and agent history to Warp's cloud. OpenWarp opens that layer entirely and adds capabilities the upstream client does not provide:

Upstream Warp OpenWarp
Cloud dependency Hard dependency on Warp backend (auth / Drive / history / Agent) Fully decentralized, no mandatory cloud calls
AI provider Warp gateway only Any OpenAI-compatible endpoint + 6 native protocols
Third-party agents Built-in Warp Agent only Any CLI agent — DeepSeek-TUI / Codex / Claude Code / Agy wired in
SSH management Not built-in Built-in SSH host manager (connect / config / tmux)
Remote file browsing Not built-in Built-in SFTP file browser
Remote code review N/A Diff + code review panel on remote SSH hosts
Markdown rendering Upstream baseline Tuned MD pipeline — code blocks, tables, mixed CJK; rendered preview for remote files
Image viewing Not built-in In-app image viewer (local + remote)
Themes Single global theme Per-window themes
Font rendering Upstream cosmic_text default CJK soft-wrap caret + bold subpixel fixes
Credentials Cloud account Local config file, never leaves device
System prompt Server-assembled, opaque minijinja templates, fully editable
UI language English English + Simplified Chinese + Japanese, extensible
Cloud Agent / Computer Use On by default Off by default (and being physically removed)
Blocks / Workflows / Keymaps Kept Fully preserved, continuously synced
License AGPL-3.0 / MIT dual Same as upstream

Things upstream Warp does NOT support, but OpenWarp does

These are net-new capabilities OpenWarp adds on top of the fork:

  • SSH host manager — connect, configure and manage SSH hosts and sessions directly inside the terminal (with tmux integration). No external switcher needed.
  • SFTP file browser — graphical file browser for remote hosts, browse and open remote files as if they were local.
  • Remote code review — diff viewer and code review panel work across SSH sessions. Review changes, stage hunks, and navigate diffs on remote repos inside the terminal.
  • Remote Markdown preview — toggle rendered Markdown preview for files on remote hosts, just like local files.
  • In-app image viewer — open images (PNG, JPEG, GIF, SVG, WebP) directly in the terminal. Works on both local and remote files via SFTP.
  • Per-window themes — set a different theme per window; theme preview applies only to the active window.
  • Third-party CLI agents — bring any CLI agent into the Warp Block model. First-class adapters for:
    • DeepSeek-TUI (completion notifications, text-notification mapping, input-restore plumbing all wired up)
    • Google Antigravity (agy) — native support
    • Codex CLI, Claude Code, and other mainstream CLI agents
    • Unified routing through OSC9 / OSC777 into OpenWarp's notification center
  • BYOP across many providers — 6 native protocols (OpenAI / OpenAIResp / Anthropic / Gemini / Ollama / DeepSeek) explicitly bound; any OpenAI-compatible proxy works out of the box. Credentials stay local.
  • Fully decentralized — no Warp account, no forced login, no cloud Drive / Notebook sync, no cloud agent history. Cloud code paths are being physically removed in stages.
  • Markdown rendering improvements — structured table rendering in AI blocks, configurable heading scale, better stability for code blocks, tables, lists and mixed Chinese/English text inside AI blocks.
  • Font rendering algorithm fixes — CJK soft-wrap caret offset, bold-on-small Chinese characters, and other long-standing upstream rendering papercuts.
  • Enhanced editor support — Vue file injection highlighting (JS/CSS/TS) and block-level comments for Vue SFC files.
  • CLI agent settings UI — graphical settings panel for configuring CLI agents.
  • Right-aligned user messages — chat transcript renders user messages on the right for clearer conversation flow.

Three steps to take your terminal fully into your own hands

01 · Plug in any provider Paste a Base URL and API key in settings — any OpenAI Chat Completions–compatible endpoint works out of the box. Credentials are stored locally only.

02 · Author dynamic prompts A minijinja-powered template engine renders the system prompt in real time based on the current working directory, language, and role.

03 · Use it immediately Switch models, conversations, command suggestions, and third-party agents with one click — the experience is identical to Warp, but every layer is yours.

Verified AI providers

Provider Base URL Notes
OpenAI https://api.openai.com/v1 Native protocol
Anthropic via genai native Claude 4.x family
DeepSeek https://api.deepseek.com/v1 thinking + tool calling
Gemini via genai native Google AI Studio
Ollama http://localhost:11434/v1 Local inference, no key
OpenRouter https://openrouter.ai/api/v1 Aggregator gateway
Qwen / Groq / Together / LM Studio / any OpenAI-compatible proxy Configure and go

Core features

  • BYOP custom providers — 6 native protocols explicitly bound on top of genai 0.6
  • Third-party CLI agents — DeepSeek-TUI / Google Antigravity (agy) / Codex CLI / Claude Code routed through OSC9 into Blocks and the notification center
  • SSH host manager — manage SSH hosts and sessions inside the terminal, with tmux integration
  • SFTP file browser — browse and open remote files in a graphical file tree
  • Remote code review — diff viewer and review panel on remote SSH repos
  • Remote Markdown preview — rendered preview toggle for remote files
  • In-app image viewer — open local and remote images (PNG/JPEG/GIF/SVG/WebP) directly in the terminal
  • Per-window themes — independent theme per window, with non-disruptive preview
  • SSE streaming — incremental block rendering identical to Warp's first-party path
  • 18 local tools — shell / read / edit / search / mcp / drive docs / skills / ask, all executed locally
  • System prompt templates — eight model-family prompts ported from opencode (default / anthropic / gpt / beast / gemini / kimi / codex / trinity)
  • models.dev integration — searchable Providers subpage with thousands of preloaded model entries
  • Rendering improvements — tuned Markdown pipeline (structured tables, configurable heading scale) + CJK soft-wrap / bold fixes
  • Privacy first — Cloud Agent / Computer Use / Referral / telemetry all disabled by default
  • Warp experience preserved — continuously merged with upstream; Blocks, Workflows, AI commands, Keymaps and themes all kept
  • Localized UI — Simplified Chinese + Japanese + English, community-extensible
  • Built-in themes — VS Code 2026 Dark and other themes included
  • Vue SFC support — injection highlighting (JS/CSS/TS) and block-level comments
  • Onkey — keyboard remapping for custom keybindings

What we are aiming for

OpenWarp wants to be the kind of terminal that:

  1. Runs fully without any centralized service — no account, no forced login, no feature that "only works when the cloud is reachable".
  2. Treats AI and agents as an open ecosystem, not a single vendor — every mainstream LLM provider and CLI agent is a first-class citizen.
  3. Makes remote work native — SSH / tmux / SFTP / remote diffs / remote image viewing are built-in, not bolted on.
  4. Earns the right to be used all day — mixed CJK, Markdown, code blocks and font rendering should never be the weak link.
  5. Stays in sync with upstream Warp — benefit from Warp's engineering work while keeping fork-level autonomy on direction.

If you share these goals, come help us finish it.

Download

Pre-built binaries for every release are on the Releases page:

Platform Asset
macOS (Apple Silicon) OpenWarp-arm64.dmg
macOS (Intel) OpenWarp-intel.dmg
Linux (any distro) OpenWarp-x86_64.AppImage
Debian / Ubuntu openwarp_<version>_amd64.deb
Fedora / RHEL 8+ openwarp-<version>.x86_64.rpm
Windows x64 OpenWarpSetup.exe
Headless CLI (macOS / Linux, x86_64 + aarch64) openwarp-<os>-<arch>.tar.gz
  • AppImage: chmod +x OpenWarp-x86_64.AppImage && ./OpenWarp-x86_64.AppImage
  • deb / rpm: sudo apt install ./openwarp_*_amd64.deb · sudo dnf install ./openwarp-*.x86_64.rpm
  • macOS: builds are unsigned; if Gatekeeper complains, see macOS Gatekeeper below.
  • The .tar.gz assets are static CLI builds of openwarp-oss; OpenWarp also fetches these automatically when installing itself on remote SSH hosts.

macOS Gatekeeper

If macOS reports that OpenWarp is damaged, clear the quarantine flag:

xattr -cr /Applications/OpenWarp.app

You can also open System Settings → Privacy & Security and choose Open Anyway.

Build from source

git clone https://github.com/TranscriptionFactory/warp
cd warp
./script/bootstrap   # platform-specific deps
./script/run         # build & run
./script/presubmit   # fmt / clippy / tests

If you prefer raw cargo, always target the OSS binary explicitly:

cargo build --release --bin openwarp-oss
cargo run   --release --bin openwarp-oss

Do not run cargo build --release / cargo run --release --bin {warp,stable,dev,preview} without a filter — those entry points (local.rs / stable.rs / dev.rs / preview.rs) load their channel config through Warp's private warp-channel-config binary, which lives in a closed-source repo. Compilation succeeds, but the resulting executables panic at startup asking you to run ./script/install_channel_config. That script clones an SSH repo only Warp employees can access. OpenWarp users only need the openwarp-oss binary.

See AGENTS.md for the repository code map and engineering guide.

License

Same as upstream Warp:

  • warpui_core / warpui crates — MIT
  • Everything else — AGPL-3.0

Branches & upstream sync

TranscriptionFactory/warp keeps two long-lived branches:

Branch Tracks Purpose
main TranscriptionFactory/warp:main (default) OpenWarp's main development line. All PRs target this.
warp-upstream warpdotdev/warp:master Pristine mirror of upstream Warp, used to pull in new commits. No fork-local changes.

For contributors

Open PRs against main. Never against warp-upstream.

For maintainers (write access)

Do not click the "Sync fork" button on main in the GitHub web UI. It would merge the entire upstream history straight into OpenWarp's main line and trigger large-scale conflicts. Pull upstream changes through the mirror branch:

# one-time setup
git remote add upstream https://github.com/warpdotdev/warp.git

# refresh the mirror
git checkout warp-upstream
git pull                          # fast-forwards from upstream/master
git push origin warp-upstream

# bring selected commits into main
git checkout main
git cherry-pick <sha>             # or merge warp-upstream when a full sync makes sense

Featured Partners

DeepSeek-TUI

DeepSeek-TUI — a terminal UI for the DeepSeek model family. OpenWarp ships first-class integration: completion notifications, OSC9 text-notification mapping, and input-restore plumbing are all wired up so DeepSeek-TUI runs as a native Block inside OpenWarp.

Launch it with deepseek from any OpenWarp terminal — Block lifecycle, footer status and notification center all work out of the box.


Google Antigravity (agy) — Google's CLI agent for coding tasks. OpenWarp ships native integration so agy runs as a first-class Block with notification routing through OpenWarp's notification center.


Windows note for DeepSeek-TUI — DeepSeek-TUI's [notifications].method defaults to auto, which resolves to Off on Windows for any TERM_PROGRAM outside its built-in allowlist (iTerm.app / Ghostty / WezTerm). OpenWarp identifies as WarpTerminal, so to receive turn-completion notifications inside OpenWarp on Windows, add the following to ~/.deepseek/config.toml:

[notifications]
method = "osc9"

[tui]
notification_condition = "always"  # optional: notify on every turn

If you maintain a CLI agent or a terminal-adjacent tool and want similar first-class integration, open an issue — we are happy to wire more partners in.

Migrating from Zap or Warp

If you used this project under its earlier Zap branding, or are coming from upstream Warp, see docs/migrate-from-warp.md to bring your settings across.

Roadmap

See docs/roadmap.md.

Contributing

Community contributions welcome. See CONTRIBUTING.md for the full flow.

Before filing, please search existing issues. Security vulnerabilities should be reported privately per CONTRIBUTING.md#reporting-security-issues.

Acknowledgements

OpenWarp stands on the shoulders of the Warp team and many open-source projects:

Warp · genai · opencode · models.dev · DeepSeek-TUI · Google Antigravity · Codex CLI · Tokio · NuShell · Alacritty · Hyper · minijinja · cosmic-text

About

OpenWarp is a free version of the open source client based on warp

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages