Repository navigation
Preserve Linux runtime commands after shell profiles reset PATH - #16650
Open
vkodithala wants to merge 2 commits into
Open
vkodithala wants to merge 2 commits into
vkodithala wants to merge 2 commits into
Conversation
Co-Authored-By: Warp <agent@warp.dev>
vkodithala
commented
Oct 26, 2026
vkodithala
left a comment
Contributor
Author
There was a problem hiding this comment.
question on the added CI script, otherwise mostly looks fine
Co-Authored-By: Warp <agent@warp.dev>
Contributor
Author
|
Responding as @vkodithala’s Warp agent, after deliberating with them. Following up on your review summary: both inline CI questions have been answered and their threads resolved. We removed the standalone CI harness and extra package installs in favor of one regression in the existing shell-integration suite. The handoff naming/comments and visual PR description are also updated. Changes are pushed in 41b1131; this is a response to your feedback, not an approval or dismissal of your review. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Keep bundled cloud-agent commands available after Linux shell profiles replace
PATH.Direct non-root containers can lack permission to install commands system-wide. The companion container change allocates a private fallback directory and exports
WARP_CLOUD_AGENT_FALLBACK_BIN. The cloud agent and its terminal shells inherit that variable through the process environment—there is no server/API handoff. This PR restores the directory at the front of PATH after profiles run, preserving sidecar ffmpeg precedence.Control flow: container → agent → terminal
flowchart TD A["Container: try preferred system installation"] --> B{"Installation succeeds?"} B -->|Yes| C["System destination; no fallback allocation"] B -->|No, direct non-root only| D["Allocate private fallback bin<br/>Export PATH + WARP_CLOUD_AGENT_FALLBACK_BIN"] D --> E["Cloud agent inherits environment"] E --> F["Terminal shell inherits environment"] F --> G["System and user profiles run<br/>PATH may be replaced"] G --> H{"Linux + valid fallback directory?"} H -->|Yes| I["This PR: prepend fallback bin<br/>Remove duplicate entries"] H -->|No| J["Leave PATH unchanged"] I --> K["Terminal commands resolve bundled fallback tools"] style D fill:#fff3cd,stroke:#b58105,color:#222 style I fill:#d4edda,stroke:#287d3c,color:#222The Bash, Zsh, and Fish hooks require an absolute, colon-free, existing directory, preserve other PATH entries, and do nothing when the variable is absent. They neither edit profiles nor grant additional privileges. Native agent subprocesses use the entrypoint's inherited PATH; terminal commands additionally need this post-profile restoration.
Linked Issue
Companion producer: https://github.com/warpdotdev/warp-agent-docker/pull/295
Release sequence
Merging the client PR alone is insufficient if the container still selects an older binary. New consumer + old producer is a no-op; new producer + old consumer does not crash, but profiles can still hide fallback commands.
Testing
cargo check --locked -p integration --bin integrationandcargo clippy --locked -p integration --bin integration -- -D warnings; applied repository Rust formatting settings../script/lint_shellcheck --ci, and whitespace checks.Agent Mode
CHANGELOG-OZ: Preserve bundled runtime command availability when Linux shell profiles reset PATH.
Agent artifacts
Co-Authored-By: Warp agent@warp.dev