Website · Code · Agents · Terminal · Drive · Docs · How Warp Works
Note
OpenAI is the founding sponsor of the new, open-source Warp repository, and the new agentic management workflows are powered by GPT models.
Warp is an agentic development environment, born out of the terminal. Use Warp's built-in coding agent, or bring your own CLI agent (Claude Code, Codex, Gemini CLI, and others).
You can download Warp and read our docs for platform-specific instructions.
Explore build.warp.dev to:
- Watch thousands of Oz agents triage issues, write specs, implement changes, and review PRs
- View top contributors and in-flight features
- Track your own issues with GitHub sign-in
- Click into active agent sessions in a web-compiled Warp terminal
Maintaining a popular open-source project? Apply for Oz credits to explore Oz for OSS.
Oz for OSS is our partner program for bringing the same agentic open-source management workflows used in this repository to select partner repositories. We work directly with maintainers to implement workflows for issue triage, PR review, community management, and contributor coordination in a way that fits each project.
Warp's UI framework (the warpui_core and warpui crates) are licensed under the MIT license.
The rest of the code in this repository is licensed under the AGPL v3.
Warp's client codebase is open source and lives in this repository. We welcome community contributions and have designed a lightweight workflow to help new contributors get started. For the full contribution flow, read our CONTRIBUTING.md guide.
Tip
Chat with contributors and the Warp team in the #oss-contributors Slack channel — a good place for ad-hoc questions, design discussion, and pairing with maintainers. New here? Join the Warp Slack community first, then jump into #oss-contributors.
Before filing, search existing issues for your bug or feature request. If nothing exists, file an issue using our templates. Security vulnerabilities should be reported privately as described in CONTRIBUTING.md.
Once filed, a Warp maintainer reviews the issue and may apply a readiness label: ready-to-spec signals the design is open for contributors to spec out, and ready-to-implement signals the design is settled and code PRs are welcome. Anyone can pick up a labeled issue — mention @oss-maintainers on an issue if you'd like it considered for a readiness label.
To build and run Warp from source:
./script/bootstrap # platform-specific setup
./script/run # build and run Warp
./script/presubmit # fmt, clippy, and testsSee WARP.md for the full engineering guide, including coding style, testing, and platform-specific notes.
Interested in joining the team? See our open roles.
- See our docs for a comprehensive guide to Warp's features.
- Join our Slack Community to connect with other users and get help from the Warp team — contributors hang out in
#oss-contributors. - Try our Preview build to test the latest experimental features.
- Mention @oss-maintainers on any issue to escalate to the team — for example, if you encounter problems with the automated agents.
We ask everyone to be respectful and empathetic. Warp follows the Code of Conduct. To report violations, email warp-coc at warp.dev.
We'd like to call out a few of the open source dependencies that have helped Warp to get off the ground:
- Tokio
- NuShell
- Fig Completion Specs
- Warp Server Framework
- Alacritty
- Hyper HTTP library
- FontKit
- Core-foundation
- Smol
This repository is the warp-cn community fork. Fork-only additions sit behind #[cfg(feature = "direct_llm_backend")] or in fork-only paths, so upstream-feature-off builds are unaffected. See README_zh.md for the full Chinese write-up.
⚠️ Initial release (v0.1). Core paths work end-to-end (project evaluation, file reads, shell, MCP), but tool-result race conditions and a few rough edges are still being smoothed out. Please file issues in the fork repo.
Lets users point Warp at their own LLM API key (Anthropic / OpenAI-compatible incl. DeepSeek / Google Gemini) and run the full agent loop without ever talking to Warp Cloud. Landed via merge 84f9ef23 on master (9 commits squashed under feat/direct-llm-backend).
Supported providers
| Provider | Default base URL | Notes |
|---|---|---|
| Anthropic | https://api.anthropic.com/v1 |
Native SSE |
| OpenAI-compatible | https://api.openai.com/v1 |
Works with DeepSeek (https://api.deepseek.com/v1) and any /v1/chat/completions endpoint |
| Google Gemini | https://generativelanguage.googleapis.com/v1beta |
?alt=sse streaming |
Each provider keeps its own base URL + key + default model; the model dropdown is populated dynamically from the provider's /v1/models endpoint.
Enabling
- Settings → AI → API Keys has a new "Direct backend" section — fill in any provider's key, URL, and default model.
- Settings → General switch the active provider (one-time restart on first switch).
- From then on, Agent Mode talks to your own API key directly. No Warp account login required.
Tool set (11)
read_files · run_shell_command · grep · file_glob · apply_file_diffs · ask_user_question · write_to_long_running_shell_command · read_shell_command_output · transfer_shell_command_control_to_user · read_mcp_resource · call_mcp_tool
MCP runs client-side and reuses the local ~/.warp/.mcp.json; no MCP server-side re-wiring needed.
Known limitations
- Reasoning models: DeepSeek-R1 / o1-style
reasoning_contentecho-back is supported; other reasoning models surface as errors if rejected. - Tool-result race: client occasionally fires the next request before all parallel tool results return; the server stubs missing IDs with a transient-retry hint to keep the model from hallucinating. Look for
DirectBackend OpenAI: stubbed N missingin~/Library/Logs/warp-oss.log. - Computer Use / Drive / Workflow agents and other Warp-cloud-only auxiliaries return empty in direct mode (does not affect the main chat loop).
- Cost / token accounting: only input / output tokens are reported in
StreamFinished.token_usage; cost is not computed.
Security / permissions
- Four permission gates (
read_files,mcp,file_write,pty,execute_commands) coerce upstreamAlwaysAsktoAgentDecides(orAskOnFirstWritefor PTY) when the feature is on, so own-LLM read-only inspection isn't trapped by a popup the model can never satisfy. - All fork behavior is gated by
#[cfg(feature = "direct_llm_backend")]; upstream-feature-off builds are unchanged. - API keys are persisted to
~/Library/Application Support/dev.warp.WarpCn/as AES-256-GCM encrypted files (no macOS Keychain).
Source layout
- Entry:
app/src/server/direct_backend/ - Config schema:
crates/ai/src/direct_backend/config.rs - Multi-provider drivers / SSE:
app/src/server/direct_backend/multi_agent/ - Cargo feature:
app/Cargo.toml→direct_llm_backend = [...](on by default in fork builds)