GitHub - warpdotdev/warp: Warp is an agentic development environment, born out of the terminal.
GitHub - warpdotdev/warp: Warp is an agentic development environment, born out of the terminal. · GitHub
Navigation Menu
Toggle navigation
[](https://github.com/)
Appearance settings
* Platform
* AI CODE CREATION
- GitHub Copilot Write better code with AI
- GitHub Spark Build and deploy intelligent apps
- GitHub Models Manage and compare prompts
- MCP Registry New Integrate external tools
* DEVELOPER WORKFLOWS
- Actions Automate any workflow
- Codespaces Instant dev environments
- Code Review Manage code changes
* APPLICATION SECURITY
- GitHub Advanced Security Find and fix vulnerabilities
- Code security Secure your code as you build
- Secret protection Stop leaks before they start
* EXPLORE
- Blog
* Solutions
* BY COMPANY SIZE
- Startups
* BY USE CASE
- DevOps
- CI/CD
* BY INDUSTRY
* Resources
* EXPLORE BY TOPIC
- AI
- DevOps
- Security
* EXPLORE BY TYPE
* SUPPORT & SERVICES
- Partners
* Open Source
* COMMUNITY
- GitHub Sponsors Fund open source developers
* PROGRAMS
* REPOSITORIES
- Topics
- Trending
* Enterprise
* ENTERPRISE SOLUTIONS
- Enterprise platform AI-powered developer platform
* AVAILABLE ADD-ONS
- GitHub Advanced Security Enterprise-grade security features
- Copilot for Business Enterprise-grade AI features
- Premium Support Enterprise-grade 24/7 support
- Pricing
Search or jump to...
Search code, repositories, users, issues, pull requests...
Search
Clear
Provide feedback
We read every piece of feedback, and take your input very seriously.
- [x] Include my email address so I can be contacted
Cancel Submit feedback
Saved searches
Use saved searches to filter your results more quickly
Name
Query
To see all available qualifiers, see our documentation.
Cancel Create saved search
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
warpdotdev/**warp**Public
- NotificationsYou must be signed in to change notification settings
- Code
- Actions
- Insights
Additional navigation options
- Code
- Issues
- Actions
- Insights
[](https://github.com/warpdotdev/warp)
warpdotdev/warp
master
[](https://github.com/warpdotdev/warp/branches)[](https://github.com/warpdotdev/warp/tags)
Go to file
Code
Open more actions menu
Folders and files
| Name | Name | Last commit message | Last commit date | | --- | --- | --- | --- |
| ## Latest commit lucieleblanc Add client-side user setting for agent commit attribution (#9323) success Apr 28, 2026 389716a·Apr 28, 2026 ## History 29 Commits Open commit details [](https://github.com/warpdotdev/warp/commits/master/)29 Commits |
| [.agents/skills](https://github.com/warpdotdev/warp/tree/master/.agents/skills "This path skips through empty directories") | [.agents/skills](https://github.com/warpdotdev/warp/tree/master/.agents/skills "This path skips through empty directories") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.cargo](https://github.com/warpdotdev/warp/tree/master/.cargo ".cargo") | [.cargo](https://github.com/warpdotdev/warp/tree/master/.cargo ".cargo") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.claude](https://github.com/warpdotdev/warp/tree/master/.claude ".claude") | [.claude](https://github.com/warpdotdev/warp/tree/master/.claude ".claude") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.config](https://github.com/warpdotdev/warp/tree/master/.config ".config") | [.config](https://github.com/warpdotdev/warp/tree/master/.config ".config") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.github](https://github.com/warpdotdev/warp/tree/master/.github ".github") | [.github](https://github.com/warpdotdev/warp/tree/master/.github ".github") | [Don't run SSH integration tests for PRs from forks. (](https://github.com/warpdotdev/warp/commit/21cb7e56d1d5de6ff5512ae4a71ef384c0fd5b72 "Don't run SSH integration tests for PRs from forks. (#9304) ## Description PRs from external forks have been failing CI because `google-github-actions/auth` cannot complete OIDC auth: our GCP Workload Identity Federation provider only trusts the base repository, so the OIDC token issued for a fork-PR run (which carries the fork's `repository` claim) is rejected. See run #25071797593 for an example failure. The auth is only needed by SSH integration tests, which use `gcloud compute start-iap-tunnel` to reach a GCP-hosted Ubuntu VM. As a short-term unblock, this skips the `auth` and `setup-gcloud` steps on fork-PR runs and filters the SSH-dependent tests out of the test runs (they all match `_ssh_` in their test names). All other tests continue to run as before, and SSH integration coverage is unchanged on `master`, `workflow_dispatch`, `workflow_call`, and same-repo PRs — those tests still validate post-merge. A more complete fix (e.g. a `workflow_run`-triggered job that runs SSH tests in the base repo's context against the fork's SHA) is a possible follow-up if we decide fork PRs need full SSH coverage. ## Testing Validated via YAML parse. Will verify behavior on this PR's CI run (same-repo PR — SSH tests should still run) and on a fork PR before relying on it. ## Server API dependencies N/A — CI-only change. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode")#9304[)](https://github.com/warpdotdev/warp/commit/21cb7e56d1d5de6ff5512ae4a71ef384c0fd5b72 "Don't run SSH integration tests for PRs from forks. (#9304) ## Description PRs from external forks have been failing CI because `google-github-actions/auth` cannot complete OIDC auth: our GCP Workload Identity Federation provider only trusts the base repository, so the OIDC token issued for a fork-PR run (which carries the fork's `repository` claim) is rejected. See run #25071797593 for an example failure. The auth is only needed by SSH integration tests, which use `gcloud compute start-iap-tunnel` to reach a GCP-hosted Ubuntu VM. As a short-term unblock, this skips the `auth` and `setup-gcloud` steps on fork-PR runs and filters the SSH-dependent tests out of the test runs (they all match `_ssh_` in their test names). All other tests continue to run as before, and SSH integration coverage is unchanged on `master`, `workflow_dispatch`, `workflow_call`, and same-repo PRs — those tests still validate post-merge. A more complete fix (e.g. a `workflow_run`-triggered job that runs SSH tests in the base repo's context against the fork's SHA) is a possible follow-up if we decide fork PRs need full SSH coverage. ## Testing Validated via YAML parse. Will verify behavior on this PR's CI run (same-repo PR — SSH tests should still run) and on a fork PR before relying on it. ## Server API dependencies N/A — CI-only change. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode") | Apr 28, 2026 |
| [.vscode](https://github.com/warpdotdev/warp/tree/master/.vscode ".vscode") | [.vscode](https://github.com/warpdotdev/warp/tree/master/.vscode ".vscode") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.warp](https://github.com/warpdotdev/warp/tree/master/.warp ".warp") | [.warp](https://github.com/warpdotdev/warp/tree/master/.warp ".warp") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [app](https://github.com/warpdotdev/warp/tree/master/app "app") | [app](https://github.com/warpdotdev/warp/tree/master/app "app") | [Add client-side user setting for agent commit attribution (](https://github.com/warpdotdev/warp/commit/389716a905d45480e079a968e1652d8cb73aa310 "Add client-side user setting for agent commit attribution (#9323)")#9323[)](https://github.com/warpdotdev/warp/commit/389716a905d45480e079a968e1652d8cb73aa310 "Add client-side user setting for agent commit attribution (#9323)") | Apr 28, 2026 |
| [command-signatures-v2/js](https://github.com/warpdotdev/warp/tree/master/command-signatures-v2/js "This path skips through empty directories") | [command-signatures-v2/js](https://github.com/warpdotdev/warp/tree/master/command-signatures-v2/js "This path skips through empty directories") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [crates](https://github.com/warpdotdev/warp/tree/master/crates "crates") | [crates](https://github.com/warpdotdev/warp/tree/master/crates "crates") | [Add client-side user setting for agent commit attribution (](https://github.com/warpdotdev/warp/commit/389716a905d45480e079a968e1652d8cb73aa310 "Add client-side user setting for agent commit attribution (#9323)")#9323[)](https://github.com/warpdotdev/warp/commit/389716a905d45480e079a968e1652d8cb73aa310 "Add client-side user setting for agent commit attribution (#9323)") | Apr 28, 2026 |
| [docker](https://github.com/warpdotdev/warp/tree/master/docker "docker") | [docker](https://github.com/warpdotdev/warp/tree/master/docker "docker") | [Install libclang-dev and unzip in agent docker container (](https://github.com/warpdotdev/warp/commit/ea269f3025647eef5d673506bda2dd127a099d33 "Install libclang-dev and unzip in agent docker container (#9257)")#9257[)](https://github.com/warpdotdev/warp/commit/ea269f3025647eef5d673506bda2dd127a099d33 "Install libclang-dev and unzip in agent docker container (#9257)") | Apr 28, 2026 |
| [resources](https://github.com/warpdotdev/warp/tree/master/resources "resources") | [resources](https://github.com/warpdotdev/warp/tree/master/resources "resources") | [[APP-4249] Set default cwd for project-scoped MCP servers (](https://github.com/warpdotdev/warp/commit/c9a68ca71e118c63d9ce627857a51fc02fbd574a "[APP-4249] Set default cwd for project-scoped MCP servers (#9239) ## Description ### Motivation File-based stdio MCP servers spawned from a project's `.mcp.json` (e.g. `pnpm run mcp:foo`, or anything using `./tooling_scripts/...`) fail with: ``` Transport creation error: No such file or directory (os error 2) ``` Root cause: when the user's `.mcp.json` doesn't include a `working_directory`, Warp's spawner inherits whatever cwd Warp was launched from rather than the directory the config was discovered in. Two failure modes share this same root cause: - **Repo-relative commands/args** (e.g. `./tooling_scripts/foo`, `node ./src/server.js`) can't be resolved from outside the repo, so `execvp` returns `ENOENT`. - **Workspace-aware launchers** like `pnpm`/`npm`/`yarn` walk up from cwd looking for `package.json` (and workspace manifests). When cwd isn't inside the repo, they bail out before launching the requested script — surfacing as `ENOENT` from the spawner's perspective. `working_directory` is a Warp/VS-Code-style extension; the canonical Anthropic/Cursor MCP schemas don't include it, so most `.mcp.json` files in the wild don't set it. ### Implementation - New helper `FileBasedMCPManager::spawn_root_for_installation(uuid)` returning the discovery root for any file-based install: the repo root for project-scoped configs, the home directory for global configs (Warp and third-party). Returns `None` for non-file-based installs (e.g. cloud-templated ones), leaving them unaffected. Global Warp installs are remapped from `~/.warp/` (Warp internal state) to `~` so all global installs share a consistent cwd. - In `TemplatableMCPServerManager::spawn_server_impl`, default `cli_server.cwd_parameter` from this helper when unset. Single funnel — covers both auto-spawn and the manual UI opt-in path. User-supplied `working_directory` always wins. - ENOENT-aware logging at the spawn site: when `TokioChildProcess::spawn()` fails with `NotFound`, the MCP log file now spells out the server name, the missing executable, the cwd we used, and a hint pointing the user at `working_directory`. The user-surfaced error string is unchanged. - Documented the new defaulting behavior and `working_directory` override in `resources/bundled/skills/add-mcp-server/SKILL.md`. ## Testing Verified spawn-site behavior manually. Demo here! - Added `test_parse_cli_server_preserves_explicit_working_directory` in `mod_test.rs` to lock in that an explicitly-set `working_directory` round-trips through parsing and won't be clobbered by the new defaulting logic. - Skipped a unit test for the new helper itself — it's a thin lookup over `file_based_servers_by_root` and the sorted-pick policy is straightforward enough to validate manually. - Spawn-site behavior (cwd actually applied, ENOENT log emission) verified manually against a `pnpm`\-based repro. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable CHANGELOG-BUG-FIX: Project-scoped file-based MCP servers now spawn from the repo root by default (and global ones from `~`), so configs with relative commands/args (and workspace launchers like `pnpm`/`npm`) work without an explicit `working_directory`.")#9239[)](https://github.com/warpdotdev/warp/commit/c9a68ca71e118c63d9ce627857a51fc02fbd574a "[APP-4249] Set default cwd for project-scoped MCP servers (#9239) ## Description ### Motivation File-based stdio MCP servers spawned from a project's `.mcp.json` (e.g. `pnpm run mcp:foo`, or anything using `./tooling_scripts/...`) fail with: ``` Transport creation error: No such file or directory (os error 2) ``` Root cause: when the user's `.mcp.json` doesn't include a `working_directory`, Warp's spawner inherits whatever cwd Warp was launched from rather than the directory the config was discovered in. Two failure modes share this same root cause: - **Repo-relative commands/args** (e.g. `./tooling_scripts/foo`, `node ./src/server.js`) can't be resolved from outside the repo, so `execvp` returns `ENOENT`. - **Workspace-aware launchers** like `pnpm`/`npm`/`yarn` walk up from cwd looking for `package.json` (and workspace manifests). When cwd isn't inside the repo, they bail out before launching the requested script — surfacing as `ENOENT` from the spawner's perspective. `working_directory` is a Warp/VS-Code-style extension; the canonical Anthropic/Cursor MCP schemas don't include it, so most `.mcp.json` files in the wild don't set it. ### Implementation - New helper `FileBasedMCPManager::spawn_root_for_installation(uuid)` returning the discovery root for any file-based install: the repo root for project-scoped configs, the home directory for global configs (Warp and third-party). Returns `None` for non-file-based installs (e.g. cloud-templated ones), leaving them unaffected. Global Warp installs are remapped from `~/.warp/` (Warp internal state) to `~` so all global installs share a consistent cwd. - In `TemplatableMCPServerManager::spawn_server_impl`, default `cli_server.cwd_parameter` from this helper when unset. Single funnel — covers both auto-spawn and the manual UI opt-in path. User-supplied `working_directory` always wins. - ENOENT-aware logging at the spawn site: when `TokioChildProcess::spawn()` fails with `NotFound`, the MCP log file now spells out the server name, the missing executable, the cwd we used, and a hint pointing the user at `working_directory`. The user-surfaced error string is unchanged. - Documented the new defaulting behavior and `working_directory` override in `resources/bundled/skills/add-mcp-server/SKILL.md`. ## Testing Verified spawn-site behavior manually. Demo here! - Added `test_parse_cli_server_preserves_explicit_working_directory` in `mod_test.rs` to lock in that an explicitly-set `working_directory` round-trips through parsing and won't be clobbered by the new defaulting logic. - Skipped a unit test for the new helper itself — it's a thin lookup over `file_based_servers_by_root` and the sorted-pick policy is straightforward enough to validate manually. - Spawn-site behavior (cwd actually applied, ENOENT log emission) verified manually against a `pnpm`\-based repro. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable CHANGELOG-BUG-FIX: Project-scoped file-based MCP servers now spawn from the repo root by default (and global ones from `~`), so configs with relative commands/args (and workspace launchers like `pnpm`/`npm`) work without an explicit `working_directory`.") | Apr 28, 2026 |
| [script](https://github.com/warpdotdev/warp/tree/master/script "script") | [script](https://github.com/warpdotdev/warp/tree/master/script "script") | [Shrink binary size for the standalone oz cli (](https://github.com/warpdotdev/warp/commit/929944198ca8b88539254543500c3d3d1d8db630 "Shrink binary size for the standalone oz cli (#9301) ## Description Reduces the `oz` CLI tarball size by adapting two techniques the WASM build already uses for the standalone CLI artifact. **Measured results**: | Platform | Before (gzipped) | After (gzipped) | Reduction | |---|---|---|---| | macOS aarch64 | ~120 MiB | ~48 MiB | **~−60%** | | Linux x86_64 | 121.5 MiB | ~49 MiB | **~−60%** | There are two primary changes: 1. No longer bundle any of the async assets into the headless binary (this drops ~57 MiB of incompressible PNG/JPG bytes from the binary) 2. Introduce a `release-ci` profile that uses `opt-level = s` and `lto = fat`. This mirrors the release profile we use on wasm. For the CLI specifically, this should be a no-op for user-perceived latency: `oz agent run` is wall-clock-dominated by network round-trips to the LLM API and file I/O, not by CPU-bound inner loops. The 5–15% slowdown that `-Os` typically incurs on tight numeric loops is invisible next to a multi-second model response, and a smaller binary actually loads faster on cold start. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable CHANGELOG-OZ: Reduced the `oz` CLI tarball download size by ~60% on both macOS and Linux. --------- Co-authored-by: Oz <oz-agent@warp.dev>")#9301[)](https://github.com/warpdotdev/warp/commit/929944198ca8b88539254543500c3d3d1d8db630 "Shrink binary size for the standalone oz cli (#9301) ## Description Reduces the `oz` CLI tarball size by adapting two techniques the WASM build already uses for the standalone CLI artifact. **Measured results**: | Platform | Before (gzipped) | After (gzipped) | Reduction | |---|---|---|---| | macOS aarch64 | ~120 MiB | ~48 MiB | **~−60%** | | Linux x86_64 | 121.5 MiB | ~49 MiB | **~−60%** | There are two primary changes: 1. No longer bundle any of the async assets into the headless binary (this drops ~57 MiB of incompressible PNG/JPG bytes from the binary) 2. Introduce a `release-ci` profile that uses `opt-level = s` and `lto = fat`. This mirrors the release profile we use on wasm. For the CLI specifically, this should be a no-op for user-perceived latency: `oz agent run` is wall-clock-dominated by network round-trips to the LLM API and file I/O, not by CPU-bound inner loops. The 5–15% slowdown that `-Os` typically incurs on tight numeric loops is invisible next to a multi-second model response, and a smaller binary actually loads faster on cold start. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable CHANGELOG-OZ: Reduced the `oz` CLI tarball download size by ~60% on both macOS and Linux. --------- Co-authored-by: Oz <oz-agent@warp.dev>") | Apr 28, 2026 |
| [specs](https://github.com/warpdotdev/warp/tree/master/specs "specs") | [specs](https://github.com/warpdotdev/warp/tree/master/specs "specs") | [Add client-side user setting for agent commit attribution (](https://github.com/warpdotdev/warp/commit/389716a905d45480e079a968e1652d8cb73aa310 "Add client-side user setting for agent commit attribution (#9323)")#9323[)](https://github.com/warpdotdev/warp/commit/389716a905d45480e079a968e1652d8cb73aa310 "Add client-side user setting for agent commit attribution (#9323)") | Apr 28, 2026 |
| [.PSScriptAnalyzerSettings.psd1](https://github.com/warpdotdev/warp/blob/master/.PSScriptAnalyzerSettings.psd1 ".PSScriptAnalyzerSettings.psd1") | [.PSScriptAnalyzerSettings.psd1](https://github.com/warpdotdev/warp/blob/master/.PSScriptAnalyzerSettings.psd1 ".PSScriptAnalyzerSettings.psd1") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.clippy.toml](https://github.com/warpdotdev/warp/blob/master/.clippy.toml ".clippy.toml") | [.clippy.toml](https://github.com/warpdotdev/warp/blob/master/.clippy.toml ".clippy.toml") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.dockerignore](https://github.com/warpdotdev/warp/blob/master/.dockerignore ".dockerignore") | [.dockerignore](https://github.com/warpdotdev/warp/blob/master/.dockerignore ".dockerignore") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.gitattributes](https://github.com/warpdotdev/warp/blob/master/.gitattributes ".gitattributes") | [.gitattributes](https://github.com/warpdotdev/warp/blob/master/.gitattributes ".gitattributes") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.gitignore](https://github.com/warpdotdev/warp/blob/master/.gitignore ".gitignore") | [.gitignore](https://github.com/warpdotdev/warp/blob/master/.gitignore ".gitignore") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.mcp.json](https://github.com/warpdotdev/warp/blob/master/.mcp.json ".mcp.json") | [.mcp.json](https://github.com/warpdotdev/warp/blob/master/.mcp.json ".mcp.json") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.rustfmt.toml](https://github.com/warpdotdev/warp/blob/master/.rustfmt.toml ".rustfmt.toml") | [.rustfmt.toml](https://github.com/warpdotdev/warp/blob/master/.rustfmt.toml ".rustfmt.toml") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [.warpindexingignore](https://github.com/warpdotdev/warp/blob/master/.warpindexingignore ".warpindexingignore") | [.warpindexingignore](https://github.com/warpdotdev/warp/blob/master/.warpindexingignore ".warpindexingignore") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [CODE_OF_CONDUCT.md](https://github.com/warpdotdev/warp/blob/master/CODE_OF_CONDUCT.md "CODE_OF_CONDUCT.md") | [CODE_OF_CONDUCT.md](https://github.com/warpdotdev/warp/blob/master/CODE_OF_CONDUCT.md "CODE_OF_CONDUCT.md") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [CONTRIBUTING.md](https://github.com/warpdotdev/warp/blob/master/CONTRIBUTING.md "CONTRIBUTING.md") | [CONTRIBUTING.md](https://github.com/warpdotdev/warp/blob/master/CONTRIBUTING.md "CONTRIBUTING.md") | [Remove](https://github.com/warpdotdev/warp/commit/81910e2442eacba9310bcf054cc9f28811a3235a "Remove `warp --version` reference from CONTRIBUTING.md (#9249) ## Description The `--version` flag currently isn't supported. I'm going to add this, but want to avoid confusion in the meantime. ## Testing N/A")`warp --version`[reference from CONTRIBUTING.md (](https://github.com/warpdotdev/warp/commit/81910e2442eacba9310bcf054cc9f28811a3235a "Remove `warp --version` reference from CONTRIBUTING.md (#9249) ## Description The `--version` flag currently isn't supported. I'm going to add this, but want to avoid confusion in the meantime. ## Testing N/A")#9249[)](https://github.com/warpdotdev/warp/commit/81910e2442eacba9310bcf054cc9f28811a3235a "Remove `warp --version` reference from CONTRIBUTING.md (#9249) ## Description The `--version` flag currently isn't supported. I'm going to add this, but want to avoid confusion in the meantime. ## Testing N/A") | Apr 28, 2026 |
| [Cargo.lock](https://github.com/warpdotdev/warp/blob/master/Cargo.lock "Cargo.lock") | [Cargo.lock](https://github.com/warpdotdev/warp/blob/master/Cargo.lock "Cargo.lock") | [Add reconnection logic to remote server (](https://github.com/warpdotdev/warp/commit/2d0d88fea6b28e7f1f8066a53f93e23ebf9beb88 "Add reconnection logic to remote server (#9289) Migrated from /Users/kevinyang/Documents/GitHub/warp-internal via `script/migrate-private-to-public`. ## Commits - 823458b Add reconnect logic to remote server - 104aafb tech spec - c4039c3 clippy - c4e3a39 nit")#9289[)](https://github.com/warpdotdev/warp/commit/2d0d88fea6b28e7f1f8066a53f93e23ebf9beb88 "Add reconnection logic to remote server (#9289) Migrated from /Users/kevinyang/Documents/GitHub/warp-internal via `script/migrate-private-to-public`. ## Commits - 823458b Add reconnect logic to remote server - 104aafb tech spec - c4039c3 clippy - c4e3a39 nit") | Apr 28, 2026 |
| [Cargo.toml](https://github.com/warpdotdev/warp/blob/master/Cargo.toml "Cargo.toml") | [Cargo.toml](https://github.com/warpdotdev/warp/blob/master/Cargo.toml "Cargo.toml") | [Shrink binary size for the standalone oz cli (](https://github.com/warpdotdev/warp/commit/929944198ca8b88539254543500c3d3d1d8db630 "Shrink binary size for the standalone oz cli (#9301) ## Description Reduces the `oz` CLI tarball size by adapting two techniques the WASM build already uses for the standalone CLI artifact. **Measured results**: | Platform | Before (gzipped) | After (gzipped) | Reduction | |---|---|---|---| | macOS aarch64 | ~120 MiB | ~48 MiB | **~−60%** | | Linux x86_64 | 121.5 MiB | ~49 MiB | **~−60%** | There are two primary changes: 1. No longer bundle any of the async assets into the headless binary (this drops ~57 MiB of incompressible PNG/JPG bytes from the binary) 2. Introduce a `release-ci` profile that uses `opt-level = s` and `lto = fat`. This mirrors the release profile we use on wasm. For the CLI specifically, this should be a no-op for user-perceived latency: `oz agent run` is wall-clock-dominated by network round-trips to the LLM API and file I/O, not by CPU-bound inner loops. The 5–15% slowdown that `-Os` typically incurs on tight numeric loops is invisible next to a multi-second model response, and a smaller binary actually loads faster on cold start. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable CHANGELOG-OZ: Reduced the `oz` CLI tarball download size by ~60% on both macOS and Linux. --------- Co-authored-by: Oz <oz-agent@warp.dev>")#9301[)](https://github.com/warpdotdev/warp/commit/929944198ca8b88539254543500c3d3d1d8db630 "Shrink binary size for the standalone oz cli (#9301) ## Description Reduces the `oz` CLI tarball size by adapting two techniques the WASM build already uses for the standalone CLI artifact. **Measured results**: | Platform | Before (gzipped) | After (gzipped) | Reduction | |---|---|---|---| | macOS aarch64 | ~120 MiB | ~48 MiB | **~−60%** | | Linux x86_64 | 121.5 MiB | ~49 MiB | **~−60%** | There are two primary changes: 1. No longer bundle any of the async assets into the headless binary (this drops ~57 MiB of incompressible PNG/JPG bytes from the binary) 2. Introduce a `release-ci` profile that uses `opt-level = s` and `lto = fat`. This mirrors the release profile we use on wasm. For the CLI specifically, this should be a no-op for user-perceived latency: `oz agent run` is wall-clock-dominated by network round-trips to the LLM API and file I/O, not by CPU-bound inner loops. The 5–15% slowdown that `-Os` typically incurs on tight numeric loops is invisible next to a multi-second model response, and a smaller binary actually loads faster on cold start. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable CHANGELOG-OZ: Reduced the `oz` CLI tarball download size by ~60% on both macOS and Linux. --------- Co-authored-by: Oz <oz-agent@warp.dev>") | Apr 28, 2026 |
| [FAQ.md](https://github.com/warpdotdev/warp/blob/master/FAQ.md "FAQ.md") | [FAQ.md](https://github.com/warpdotdev/warp/blob/master/FAQ.md "FAQ.md") | [Add FAQ entry for model subscription access (](https://github.com/warpdotdev/warp/commit/a1f35faca1a1be7a93f0ebfdfedf3c24ffb96fdc "Add FAQ entry for model subscription access (#9287) ## Description Adds a FAQ entry for a common question about whether users can access other models or subscriptions in Warp's agent. The answer clarifies that Warp's built-in agent harness runs server-side and is not open in this repo, so a personal subscription cannot be used for Codex model access there. It also points users toward planned ACP support for connecting Codex directly while using their own subscription. ## Testing Documentation-only change; not run. ## Server API dependencies None. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable Co-Authored-By: Oz <oz-agent@warp.dev>")#9287[)](https://github.com/warpdotdev/warp/commit/a1f35faca1a1be7a93f0ebfdfedf3c24ffb96fdc "Add FAQ entry for model subscription access (#9287) ## Description Adds a FAQ entry for a common question about whether users can access other models or subscriptions in Warp's agent. The answer clarifies that Warp's built-in agent harness runs server-side and is not open in this repo, so a personal subscription cannot be used for Codex model access there. It also points users toward planned ACP support for connecting Codex directly while using their own subscription. ## Testing Documentation-only change; not run. ## Server API dependencies None. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable Co-Authored-By: Oz <oz-agent@warp.dev>") | Apr 28, 2026 |
| [LICENSE-AGPL](https://github.com/warpdotdev/warp/blob/master/LICENSE-AGPL "LICENSE-AGPL") | [LICENSE-AGPL](https://github.com/warpdotdev/warp/blob/master/LICENSE-AGPL "LICENSE-AGPL") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [LICENSE-MIT](https://github.com/warpdotdev/warp/blob/master/LICENSE-MIT "LICENSE-MIT") | [LICENSE-MIT](https://github.com/warpdotdev/warp/blob/master/LICENSE-MIT "LICENSE-MIT") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [PSScriptAnalyzerCustomRules.psm1](https://github.com/warpdotdev/warp/blob/master/PSScriptAnalyzerCustomRules.psm1 "PSScriptAnalyzerCustomRules.psm1") | [PSScriptAnalyzerCustomRules.psm1](https://github.com/warpdotdev/warp/blob/master/PSScriptAnalyzerCustomRules.psm1 "PSScriptAnalyzerCustomRules.psm1") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [README.md](https://github.com/warpdotdev/warp/blob/master/README.md "README.md") | [README.md](https://github.com/warpdotdev/warp/blob/master/README.md "README.md") | [Change image source in README (](https://github.com/warpdotdev/warp/commit/e12c14e2d5b4634d4000980c46c3d20aafcffbc5 "Change image source in README (#9248) Updated image source in README to use GitHub link. ## Description <!-- Please remember to add your design buddy onto the PR for review, if it contains any UI changes! --> ## Testing <!-- How did you test this change? What automated tests did you add? If you didn't add any new tests, what's your justification for not adding any? If you're not sure whether you should add a test, check our testing policy: https://www.notion.so/warpdev/How-We-Code-at-Warp-257fe43d556e4b3c8dfd42f70004cc72#1f97825450504baa9c5fd87a737daa09 --> ## Server API dependencies <!-- You may remove this section if your PR does not have any server dependencies. --> - [ ] Is this change necessary to make the client compatible with a desired server API breaking change? - [ ] Does this change rely on a new server API? - [ ] If so, is the use of this API restricted to client channels that rely on the staging server (e.g. WarpDev)? - [ ] Is this change enabling the use of a server API on client channels that rely on the production server (e.g. WarpStable)? - [ ] If so, has the new server API been stable on production for at least one server release cycle? See here for more details. ## Agent Mode - [ ] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable <!-- The entries below will be used when constructing a soft-copy of the stable release changelog. Leave blank or remove the lines if no entry in the stable changelog is needed. Entries should be on the same line, without the `{{` `}}` brackets. You can use multiple lines, even of the same type. The valid suffixes are: * NEW-FEATURE: for new, relatively sizable features. Features listed here will likely have docs / social media posts / marketing launches associated with them, so use sparingly. * IMPROVEMENT: for new functionality of existing features. * BUG-FIX: for fixes related to known bugs or regressions. * IMAGE: the image specified by the URL (hosted on GCP) will be added to Dev & Preview releases. For Stable releases, see the pinned doc in the #release Slack channel. * OZ: Oz-related updates. Use `CHANGELOG-OZ`. At most 4 Oz updates are shown in-app per release. --> CHANGELOG-NEW-FEATURE: {{text goes here...}} CHANGELOG-IMPROVEMENT: {{text goes here...}} CHANGELOG-BUG-FIX: {{text goes here...}} CHANGELOG-BUG-FIX: {{more text goes here...}} CHANGELOG-IMAGE: {{GCP-hosted URL goes here...}} CHANGELOG-OZ: {{text goes here...}}")#9248[)](https://github.com/warpdotdev/warp/commit/e12c14e2d5b4634d4000980c46c3d20aafcffbc5 "Change image source in README (#9248) Updated image source in README to use GitHub link. ## Description <!-- Please remember to add your design buddy onto the PR for review, if it contains any UI changes! --> ## Testing <!-- How did you test this change? What automated tests did you add? If you didn't add any new tests, what's your justification for not adding any? If you're not sure whether you should add a test, check our testing policy: https://www.notion.so/warpdev/How-We-Code-at-Warp-257fe43d556e4b3c8dfd42f70004cc72#1f97825450504baa9c5fd87a737daa09 --> ## Server API dependencies <!-- You may remove this section if your PR does not have any server dependencies. --> - [ ] Is this change necessary to make the client compatible with a desired server API breaking change? - [ ] Does this change rely on a new server API? - [ ] If so, is the use of this API restricted to client channels that rely on the staging server (e.g. WarpDev)? - [ ] Is this change enabling the use of a server API on client channels that rely on the production server (e.g. WarpStable)? - [ ] If so, has the new server API been stable on production for at least one server release cycle? See here for more details. ## Agent Mode - [ ] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable <!-- The entries below will be used when constructing a soft-copy of the stable release changelog. Leave blank or remove the lines if no entry in the stable changelog is needed. Entries should be on the same line, without the `{{` `}}` brackets. You can use multiple lines, even of the same type. The valid suffixes are: * NEW-FEATURE: for new, relatively sizable features. Features listed here will likely have docs / social media posts / marketing launches associated with them, so use sparingly. * IMPROVEMENT: for new functionality of existing features. * BUG-FIX: for fixes related to known bugs or regressions. * IMAGE: the image specified by the URL (hosted on GCP) will be added to Dev & Preview releases. For Stable releases, see the pinned doc in the #release Slack channel. * OZ: Oz-related updates. Use `CHANGELOG-OZ`. At most 4 Oz updates are shown in-app per release. --> CHANGELOG-NEW-FEATURE: {{text goes here...}} CHANGELOG-IMPROVEMENT: {{text goes here...}} CHANGELOG-BUG-FIX: {{text goes here...}} CHANGELOG-BUG-FIX: {{more text goes here...}} CHANGELOG-IMAGE: {{GCP-hosted URL goes here...}} CHANGELOG-OZ: {{text goes here...}}") | Apr 28, 2026 |
| [SECURITY.md](https://github.com/warpdotdev/warp/blob/master/SECURITY.md "SECURITY.md") | [SECURITY.md](https://github.com/warpdotdev/warp/blob/master/SECURITY.md "SECURITY.md") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [WARP.md](https://github.com/warpdotdev/warp/blob/master/WARP.md "WARP.md") | [WARP.md](https://github.com/warpdotdev/warp/blob/master/WARP.md "WARP.md") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [about.hbs](https://github.com/warpdotdev/warp/blob/master/about.hbs "about.hbs") | [about.hbs](https://github.com/warpdotdev/warp/blob/master/about.hbs "about.hbs") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [about.toml](https://github.com/warpdotdev/warp/blob/master/about.toml "about.toml") | [about.toml](https://github.com/warpdotdev/warp/blob/master/about.toml "about.toml") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [deny.toml](https://github.com/warpdotdev/warp/blob/master/deny.toml "deny.toml") | [deny.toml](https://github.com/warpdotdev/warp/blob/master/deny.toml "deny.toml") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [diesel.toml](https://github.com/warpdotdev/warp/blob/master/diesel.toml "diesel.toml") | [diesel.toml](https://github.com/warpdotdev/warp/blob/master/diesel.toml "diesel.toml") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 |
| [rust-toolchain.toml](https://github.com/warpdotdev/warp/blob/master/rust-toolchain.toml "rust-toolchain.toml") | [rust-toolchain.toml](https://github.com/warpdotdev/warp/blob/master/rust-toolchain.toml "rust-toolchain.toml") | [Initial public release of Warp.](https://github.com/warpdotdev/warp/commit/0dbd3d567a2090874c08a6cc91e091aebd933847 "Initial public release of Warp. Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b1028a49b144db86bea0a735e53dc45") | Apr 28, 2026 | | View all files |
Repository files navigation
- README
- Security

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.
About
[](https://github.com/warpdotdev/warp#about)
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).
Installation
[](https://github.com/warpdotdev/warp#installation)
You can download Warp and read our docs for platform-specific instructions.
Licensing
[](https://github.com/warpdotdev/warp#licensing)
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.
Open Source & Contributing
[](https://github.com/warpdotdev/warp#open-source--contributing)
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.
Issue to PR
[](https://github.com/warpdotdev/warp#issue-to-pr)
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.
Building the Repo Locally
[](https://github.com/warpdotdev/warp#building-the-repo-locally)
To build and run Warp from source:
undefinedshell ./script/bootstrap # platform-specific setup ./script/run # build and run Warp ./script/presubmit # fmt, clippy, and tests undefined
See WARP.md for the full engineering guide, including coding style, testing, and platform-specific notes.
Joining the Team
[](https://github.com/warpdotdev/warp#join