feat: add custom config directory and environment variable support#47
feat: add custom config directory and environment variable support#47
Conversation
- auth: unified --auth-with pattern, proper model handling - env: add -e flag support and custom config dir - docker: move to /home/claude, fix permissions - security: controlled mounts, proper RO handling - cleanup: standardize env vars CLAUDE_YOLO_* → CCYOLO_*
- Update VERSION to 0.4.0 in claude.sh - Add v0.4.0 changelog entry with auth system refactor
…e workflow - Use CLAUDE_YOLO_RELEASE_CMD if set - Remove branch check from workflow
There was a problem hiding this comment.
Bug: `-c` Flag Change Breaks Existing Scripts
The -c flag's behavior is a breaking change. It was previously a shortcut for --claude authentication but now maps to --config DIR. This causes existing scripts using claude.sh -c (without an argument) to fail with "error: --config requires an argument". Using claude.sh -c somevalue will incorrectly interpret somevalue as a config directory. Additionally, when --config DIR is used, the script creates an empty {} in DIR/.claude.json if it doesn't exist, which may be an invalid or insufficient configuration for the Claude CLI.
claude.sh#L188-L223
BugBot free trial expires on July 22, 2025
You have used $0.00 of your $10.00 spend limit so far. Manage your spend limit in the Cursor dashboard.
Was this report helpful? Give feedback by reacting with 👍 or 👎
- Update VERSION in claude.sh to 0.4.1 - Add changelog entry with Docker compatibility improvements 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add comprehensive changelog entry for v0.4.0 major refactor - Document auth system overhaul, Docker architecture changes - Include security improvements and breaking changes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
|
@claude list all issues and review |
|
Claude finished @lroolle's task —— View job Comprehensive PR ReviewTodo List:
🚨 Critical Issues Found1. BREAKING CHANGE: -c Flag ReassignmentFile: The # Before: claude.sh -c (worked - meant --claude auth)
# After: claude.sh -c (fails - requires argument for --config)Solutions:
2. Issue Reference ProblemsIssues: Claims to close #46, #31, #32, #24, #38 From codebase analysis:
🔍 Code Quality Issues3. Security: Empty Config File CreationFile: if [ ! -f "$CONFIG_DIR/.claude.json" ]; then
echo "Creating $CONFIG_DIR/.claude.json"
echo '{}' >"$CONFIG_DIR/.claude.json"
fiIssue: Creates invalid/empty Claude config that may cause authentication failures. 4. Path Expansion Edge CasesFile: CONFIG_DIR="${CONFIG_DIR/#\~/$HOME}"Issue: Only handles 5. Docker Volume Mount LogicFile: for item in "$CONFIG_DIR"/.* "$CONFIG_DIR"/*; do
if [ -e "$item" ]; then
basename_item="$(basename "$item")"
# Skip . and ..
if [ "$basename_item" != "." ] && [ "$basename_item" != ".." ]; thenIssues:
6. Environment Variable HandlingFile: if [[ "$env_spec" == *"="* ]]; then
EXTRA_ENV_VARS+=("-e" "$env_spec")
else
env_value="${!env_spec}"
if [ -n "$env_value" ]; then
EXTRA_ENV_VARS+=("-e" "$env_spec=$env_value")
else
echo "warning: environment variable $env_spec not set, skipping" >&2
fi
fiIssues:
🏗️ Architecture Issues7. Docker Path ConsistencyFiles:
8. User Permission ManagementFile: if [ "$CLAUDE_GID" != "$current_gid" ]; then
if getent group "$CLAUDE_GID" >/dev/null 2>&1; then
existing_group=$(getent group "$CLAUDE_GID" | cut -d: -f1)
usermod -g "$CLAUDE_GID" "$CLAUDE_USER" 2>/dev/null || true
else
groupmod -g "$CLAUDE_GID" "$CLAUDE_USER"
fi
fi✅ Positive ChangesGood Improvements:
🔧 RecommendationsImmediate Fixes:
Security Improvements:
Code Quality:
📊 Overall AssessmentCode Quality: The PR adds valuable functionality but has a critical breaking change and several quality issues that should be addressed before merging. Branch: refactor/envs → main |
|
Claude finished @lroolle's task —— View job Code Review CompleteTasks:
Issues AnalysisCannot access
Code Review FindingsCritical Issue: Breaking Change in
|
Summary
Changes
Test Plan
Closes #46, #31, #32, #24, #38