- Category
- Developer Tools
- Rank
- No. 10Tools index
- Listed in
- #1 Interface with your agents
- Type
- APP
- Builder
- warpdotdev
- GitHub
- 64.9k stars
- Latest release
- tui-screenshots-app5029
- Date
About
Warp is an agentic development environment born out of the terminal. Use its built-in coding agent or bring your own CLI agent (Claude Code, Codex, Gemini CLI, and others), with blocks, workflows, and AI woven throughout.
What it does
This is the open-sourced Rust client for Warp, a native desktop app that pairs a terminal with coding agents. It ships as source only: seventy-five workspace crates plus one application crate, none of them published as a library, so you either build the desktop binary or contribute to it. The workspace carries an entire application stack of its own, including a UI framework, an editor, language tooling, and the terminal itself, rather than sitting as a plugin on top of something else.
Why it's ranked here
The engineering discipline shows in the code itself rather than in marketing copy: one script runs formatting, lint, and tests before every contribution, crash reporting and telemetry are wired into the build, and the licensing split is stated plainly, copyleft for the workspace and MIT for the two UI framework crates. Weigh that against what the same code shows: the client is half of a paid product, with a login gate, billing modules, a command-line surface that changes with server-side flags, and a README disclosing that OpenAI sponsors the repository and GPT models run its management workflows.
What's good
The hardest platform work is explained where it lives. Comments in the computer-control code spell out how background window automation differs per operating system: on macOS, events go straight to the owning process so a fully covered window can still be driven, while on Linux X11 a second virtual input seat leaves your own cursor, focus, and modifier keys untouched. The same comments admit the costs, a second visible cursor while actions run and covered windows needing to be raised before a click lands, and state outright that Wayland and Windows only get whole-screen control. Plugins run in a separate host process.
Tradeoffs
This is the open half of a commercial product. Billing, pricing, and credit-tracking modules are baked in, and the headless terminal interface stays behind a browser login: signed out, you get a placeholder, and shared tool servers only activate after authentication completes. Nine command-line subcommands simply exit when their server-side feature flag is off, so the CLI you actually get depends on what is enabled for your account, and that CLI answers to the name oz rather than warp. Building requires a platform-specific setup script, and five dependencies come from the company's own git forks instead of the public package registry.
How to use it well
Decide separately whether you want the app and whether you want the code. If you are adopting the app, find the agent permission controls first, the execution profiles and the blocklist, and settle what an agent may do before letting it run; the workflow system then classifies saved commands into personal, project, team, and cloud scopes and syncs the cloud ones. If you would rather bring your own agent, third-party CLI agents such as Claude Code, Codex, and Gemini CLI attach through the terminal. Contributors get a three-script loop covering setup, run, and presubmit checks, plus issue labels marking what is ready to pick up.
Technical notes+
app/src/lib.rs declares more than a hundred modules wired into one AppContext entity graph: terminal, editor, code, code_review, ai, billing, drive, notebooks, workflows. Agent capability is spread rather than centralised: crates/ai/src/lib.rs holds llm_id, llm_provider, skills, and the index module whose CodebaseIndexManager app/src/lib.rs imports, while app/src/ai/mod.rs adds ambient_agents, execution_profiles, mcp, and a blocklist module exporting BlocklistAIPermissions. crates/mcp/src/lib.rs wraps rmcp RunningService handles with oauth and sse_transport modules, both cfg'd out on wasm. crates/lsp/src/lib.rs spawns language servers over a ProcessTransport wrapped in a JsonRpcService; the wasm32 build returns an error. crates/computer_use/src/lib.rs posts events with CGEventPostToPid on macOS and uses a dedicated second XInput2 master seat on Linux X11. Third-party CLI agents attach through the cli_agent module in app/src/terminal/mod.rs, where terminal rows are computed from pane size, not content size. app/src/plugin/mod.rs runs plugins in a separate host process behind a --plugin_host flag. crates/warp_cli/src/lib.rs scans argv before clap parses and calls std::process::exit(2) for each of nine flag-gated subcommands; the clap command is named oz. app/src/tui/mod.rs gates the input UI behind device-authorization login and activates global MCP servers on AuthComplete. app/src/workflows/mod.rs classifies workflows as Global, Local, Project, Team, PersonalCloud, or Notebook. Forked deps: font-kit, notify, command-corrections, mermaid-to-svg, session-sharing-protocol from warpdotdev git revisions; arborium is configured with 34 language grammars.
Observed
- License
- AGPL-3.0-only across the workspace; the two UI framework crates (warpui and warpui_core) are MIT
- Language and layout
- Rust Cargo workspace, resolver 2: 75 crates plus a single application crate
- Distribution
- Source-only: the workspace sets publish = false, so nothing is released as a library
- Interfaces
- Desktop app, headless TUI, and a CLI whose command is named oz; MCP client and LSP support built in
- Computer use platform coverage
- Background per-window control works on macOS and Linux X11; Wayland and Windows are unsupported and get whole-screen control only
Read from README.md, Cargo.toml, app/src/lib.rs, app/src/ai/mod.rs, app/src/coding_entrypoints/mod.rs, app/src/terminal/mod.rs, app/src/workflows/mod.rs, app/src/plugin/mod.rs, app/src/tui/mod.rs, crates/ai/src/lib.rs, crates/mcp/src/lib.rs, crates/computer_use/src/lib.rs, crates/command/src/lib.rs, crates/lsp/src/lib.rs, crates/warp_cli/src/lib.rs.
What it can do
Execute terminal commands with AI assistance
Terminal commands and user queries → Command execution results and AI-powered suggestions
Generate code using built-in coding agent
Natural language prompts or coding requirements → Generated code snippets or complete implementations
Integrate external CLI agents
External AI agents (Claude Code, Codex, Gemini CLI) → Enhanced development workflows with chosen AI agent
Triage and manage GitHub issues automatically
GitHub repository issues and pull requests → Triaged issues with labels and priority assignments
Write technical specifications from issues
GitHub issues or feature requests → Detailed technical specifications and implementation plans
Review pull requests automatically
GitHub pull requests and code changes → Code review comments and approval recommendations
Track development progress across projects
GitHub repositories and contributor activity → Development dashboard with contributor metrics and feature status
Intel on Warp
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
