Add fish shell support and fix PATH handling for Claude#1
Open
vncntt wants to merge 2 commits intopipmc:mainfrom
Open
Add fish shell support and fix PATH handling for Claude#1vncntt wants to merge 2 commits intopipmc:mainfrom
vncntt wants to merge 2 commits intopipmc:mainfrom
Conversation
1. Fish shell support (install.sh): - Add ccind to fish_user_paths for fish shell users - Uses universal variable so it persists without config.fish modification 2. PATH handling (bin/ccind): - Check both PATH and ~/.local/bin when detecting Claude - Claude's installer places the binary in ~/.local/bin which may not be in PATH - Launch claude with PATH explicitly including ~/.local/bin Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use `PATH=... command` instead of `export PATH=...; exec command`. This is more idiomatic - prefixing a command with VAR=value sets it only for that command invocation. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
vncntt
added a commit
to vncntt/claude-code-into-devcontainer
that referenced
this pull request
Jan 14, 2026
This PR adds robustness improvements for ccind:
1. Build failure fallback:
- When devcontainer up fails (often due to SSH agent forwarding issues
with Dockerfile-with-features), ccind now looks for an existing Docker
image and starts a container directly from it
- This handles the common case where the image was previously built but
rebuilding fails due to SSH issues
2. Manual Claude installation:
- If Claude Code isn't found in the container (common with cached images),
ccind automatically installs it using the official install script
- No more manual intervention needed
3. Config sync from host:
- Copies ~/.claude.json (authentication state)
- Copies ~/.claude/settings.json (user preferences like model selection)
- Copies plugins with path translation (host paths -> container paths)
- Fixes file permissions after docker cp (copies as root, chowns to user)
4. PATH handling for Claude:
- Check both PATH and ~/.local/bin when detecting Claude
- Launch claude with PATH set correctly
Note: This PR includes changes that overlap with PR pipmc#1 (PATH handling).
If PR pipmc#1 is merged first, this PR will need rebasing.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5 tasks
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.
Summary
fish_user_paths~/.local/binProblem
Fish shell users couldn't run
ccindafter installation because the install script only updated.bashrcand.zshrcClaude detection failed even when Claude was installed because:
~/.local/bincommand -v claudewould fail even though Claude was installedChanges
install.sh
fish -c "set -Ua fish_user_paths '$CCIND_HOME/bin'"for fish shell supportbin/ccind
~/.local/binwhen detecting Claude~/.local/binTest plan
ccindcommand is available~/.local/bin🤖 Generated with Claude Code