Added CONDA_PKGS_DIRS environment variable setting to ensure conda
looks in the correct package cache directories inside the container.
This matches the pattern used for CONDA_ENVS_DIRS.
Enhanced conda support to handle custom environment and package directories:
Key Changes:
- Mount conda installation at original path (not /opt/miniconda3)
- Add CONDA_EXTRA_DIRS for mounting additional search paths
- Mount all conda-configured directories to preserve existing setup
- Update CLAUDE.md to use ${CONDA_EXE} environment variable
Technical Details:
- Preserves original conda paths so existing configuration works
- Handles multiple envs_dirs and pkgs_dirs automatically
- Provides feedback about which directories are mounted
- Falls back gracefully for missing directories
Example usage: CONDA_EXTRA_DIRS="/vol/path/.conda/envs /vol/path/conda_envs /vol/path/.conda/pkgs"
Result: All conda environments and packages accessible in container.
Major breakthrough solving the authentication chicken-and-egg problem:
Key Changes:
- Copy ~/.claude.json and ~/.claude/ during Docker build for baked-in auth
- Add -s user flag to claude mcp add-json for persistent MCP servers
- Simplify rebuild logic to prevent unnecessary rebuilds
- Update documentation with rebuild instructions
Technical Details:
- Authentication files placed before USER switch in Dockerfile
- MCP configuration now persists across all sessions
- Rebuild only occurs when image doesn't exist
- Clean separation of build vs runtime concerns
Result: Users authenticate once on host, then zero login prompts forever.
SMS notifications ready immediately on container start.
- Add proper type and env sections to mcp-config.json
- Remove dynamic MCP add command, use pre-configured MCP
- Bake .env credentials into Docker image at build time
- Remove runtime .env volume mount - true one-time setup
- Auto-rebuild image when .env file changes
- Export Twilio env vars for MCP server subprocess
- Remove conflicting .mcp.json file
- Add persistent volume mount for Claude home directory (~/.claude)
- Create non-root user in Docker container for better security
- Mount host ~/.claude-docker/claude-home to container ~/.claude
- Update install script to create claude-home directory
- Check for existing credentials on startup
- Authentication tokens now persist across container restarts
- Dockerfile with Claude Code and Twilio MCP integration
- Wrapper script for easy invocation from anywhere
- Auto-setup of .claude directory in projects
- SMS notifications via Twilio when tasks complete
- Installation script for zshrc alias
- Full autonomous permissions with --dangerously-skip-permissions
- Context persistence via scratchpad.md