Add build fallback, manual installation, and config sync #2
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.
Summary
Problem
Build failures: The devcontainer CLI's
--additional-featuresgenerates aDockerfile-with-featuresthat breaks SSH agent forwarding. This causes builds to fail for repos with private git dependencies.Cached images: When using cached images, the
claude-codefeature isn't applied, so Claude isn't installed.Config not syncing: The
claude-config-mountfeature doesn't work when features aren't applied. User settings likemodel: opusaren't transferred, and plugins don't work because their paths point to host locations.Changes
Build failure fallback
devcontainer upfailsvsc-<workspace>-*)Manual Claude installation
curl -fsSL https://claude.ai/install.sh | bashConfig sync
~/.claude.json(authentication state)~/.claude/settings.json(user preferences)installed_plugins.json: Replace host paths with container pathsknown_marketplaces.json: Replace host paths with container pathsmarketplaces/andcache/directoriesdocker cp(files are copied as root)PATH handling
~/.local/binfor Claude detection~/.local/binTest plan
model: opusis preserved)Note
This PR includes PATH handling changes that overlap with PR #1. If PR #1 is merged first, this PR will need rebasing. Alternatively, this PR can be merged independently as it includes all necessary fixes.
🤖 Generated with Claude Code