All notable changes to Claude Code YOLO will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- tmux bridge: Connect container tmux client to host tmux server via TCP bridge
deva-bridge-tmux-host(host-side) anddeva-bridge-tmux(container-side)- Build tmux 3.6a from source with SHA256 verification
- Documented as privileged host bridge in AGENTS.md
- Gemini agent support: Add
agents/gemini.shfor Google Gemini CLI - Docker-in-Docker auto-mount:
/var/run/docker.sockauto-mounted with--no-dockeropt-out - Version management:
scripts/version-upgrade.shandscripts/release-utils.sh - Build resilience: Use
gh apiinstead ofcurlto avoid GitHub rate limits
- docker-entrypoint.sh: usermod error handling for mounted volumes (no longer fatal under set -e)
- Dockerfile: explicit chmod 755 for script permissions (fixes execute-only bug)
- Environment variables for tmux bridge use
DEVA_BRIDGE_*prefix
Claude Code YOLO → deva.sh Multi-Agent Wrapper
This release transforms claude-code-yolo from a Claude-specific wrapper into deva.sh - a unified multi-agent wrapper supporting Claude Code, OpenAI Codex, and future coding agents.
- Multi-Agent Architecture: Pluggable agent system with
agents/claude.shandagents/codex.shmodules - Unified Dispatcher:
deva.shas the main entry point with agent selection via first argument (deva.sh codex) - Project-Scoped Container Management:
deva.sh --pslists all deva containers for current projectdeva.sh --inspect/deva.sh shellwith fzf picker for multi-container attach- Container naming:
deva-<agent>-<project>-<pid>
- Enhanced Config System:
--config-home/-Hmounts entire auth directories (.claude,.codex) into/home/deva- New
.deva/.deva.localconfig files with legacy.claude-yolo*support CONFIG_HOMEenvironment propagation to agents
- Agent-Specific Safety: Auto-injection of safety flags (
--dangerously-skip-permissionsfor Claude,--dangerously-bypass-approvals-and-sandboxfor Codex) - Codex OAuth Protection: Strips conflicting
OPENAI_*env vars when.codex/auth.jsonis mounted
- BREAKING:
deva.shreplacesclaude.shas the primary interface - BREAKING: Docker image changed to
ghcr.io/thevibeworks/deva(wasghcr.io/thevibeworks/ccyolo) - BREAKING: Container user path changed from
/rootto/home/deva - Backward Compatibility:
claude-yolo→deva.sh claudeshim maintained - Deprecation Warnings:
claude.shandclaudeb.shnow warn before forwarding todeva.sh
# Old workflow
claude.sh --yolo -v ~/.ssh:/root/.ssh:ro
# New workflow
deva.sh claude -v ~/.ssh:/home/deva/.ssh:ro
# Or use the shim (warns but works)
claude-yolo -v ~/.ssh:/home/deva/.ssh:roThis release implements the complete vision from #98 - a Docker-first multi-agent wrapper that preserves YOLO ergonomics while enabling polyglot AI toolchains.
- GitHub Copilot authentication mode (
--auth-with copilot/--copilot) with automatic proxy launch in local and YOLO runs. - Model auto-discovery from the Copilot proxy, with clear logging when defaults are injected.
- Updated Claude Code base version to 1.0.95 with new features:
- /todos command to list current todo items
- /memory command now allows direct editing of imported memory files
- Individual slash command arguments ($1, $2, $3) like shell scripts
- argument-hint frontmatter for slash commands (e.g.,
[pr-number] [priority] [assignee]) - MCP output warnings when responses exceed token limits (10k warning, 25k max)
- Configurable MCP output limit via MAX_MCP_OUTPUT_TOKENS environment variable
- Vertex AI support for global endpoints
- SDK: Add custom tools as callbacks
- Project-specific config file support (
.claude-yoloin project root) - OAuth token authentication method (
--oat, experimental) - Full configuration reference file (
.claude-yolo.full) - Environment variable expansion support (
${VAR:-default}) - Sensitive environment variable masking (API keys, tokens, secrets)
--host-netoption for Docker networking- Configuration display in startup output
- Updated Claude Code base version to 1.0.93
- Unified model aliasing system across all authentication methods
- Improved environment and volume parsing
- Enhanced security with controlled mounts and permissions
- Simplified example config file
- Streamlined release workflow through claude-yolo
- Critical security issues with config file handling
- Environment variable display formatting
- Volume mount permissions and validation
- Mask sensitive values in environment variable output
- Enhanced config file validation and security checks
- Updated Claude Code base version to 1.0.54 with latest features:
- Hooks: UserPromptSubmit hook, PreCompact hook
- Custom slash commands: argument-hint frontmatter, restored namespacing
- Shell: In-memory snapshots for better file operation reliability
- Search (Grep) tool redesigned with enhanced parameters
- MCP: server instructions support, enhanced tool result display
- @-mention file truncation increased from 100 to 2000 lines
- New /export command for conversation sharing
- /doctor command for settings file validation
- Progress messages for Bash tool based on command output
- --append-system-prompt now works in interactive mode
- Vim mode navigation improvements (c, f/F, t/T commands)
- Fixed config file corruption with atomic writes
- Migrate repository from lroolle to thevibeworks org
- Expand ~ to $HOME in release command for Docker compatibility
- Make Claude cmd configurable in release workflow
- Update Claude version to 1.0.44 and improve release flow
- Unified
--auth-withpattern for authentication method selection - Environment variable pass-through with
-eflag support - Custom config directory support
- Controlled mount security with proper read-only handling
- Complete auth system refactor with proper model handling
- Docker architecture: moved to
/home/claudefor better permissions - Environment variable standardization:
CLAUDE_YOLO_*→CCYOLO_* - Streamlined docker-entrypoint.sh with improved error handling
- Docker permission issues with auth file handling
- Security improvements with controlled mounts
- Streamlined Docker image build process
- Updated npm global installation path
- Enhanced CI pipeline with release workflow and version check
- Improved container registry configuration
- Makefile registry inconsistency with ghcr.io default image
- Add note on
CLAUDE_CONFIG_DIRand fix gcloud config symlink in entrypoint
- Unified logging system for improved UX
- Clean output by default showing only authentication method
- Verbose mode displays model selection, proxy configuration, and debug info
- Argument parsing infinite loop in claude-yolo for --inspect and --ps options
- Duplicate argument handling causing inconsistent behavior with mixed options
- claude-trace --run-with syntax (removed unnecessary "claude" argument)
- Container shortcuts now properly exit after --ps command
- Consolidated all claude-yolo argument parsing through single parse_args() function
- Enhanced claude-trace argument injection for proper --dangerously-skip-permissions placement
- Improved logging organization
- Updated documentation with logging capabilities and examples
- Docker build caching in GitHub Actions (dual GHA + registry cache strategy)
- Dynamic fallback UID/GID selection for root users
- Handle UID 0 (root user) case in docker-entrypoint.sh
- Add explicit github_token to claude-code-review action
- Handle UID=0 and GID=0 independently for security
- Simplify root user handling with hardcoded 1000 fallback
- Remove redundant comments in UID/GID handling
- Run Claude review once per PR and on manual trigger
- Docker build caching improvements in GitHub Actions
- Update logs and changelog for issue #19 caching fix
- Clarify root cause and solution for UID 0 handling
- Add OIDC token fix to dev log
- Docker image update to ghcr.io with fallback to Docker Hub
- Note when falling back to Docker Hub image in installer
- Set shellcheck to error severity to prevent CI blocking
- Improve usage examples across all documentation
- Move shellcheck to CI workflow, remove from release
- --verbose flag to show environment info and pass to Docker
- Initial release of Claude Code YOLO Docker wrapper
- Dual-mode architecture: Local mode (default) and YOLO mode (Docker)
- Support for 4 authentication methods:
- Claude App OAuth (
--claude,-c) - Anthropic API Key (
--api-key,-a) - AWS Bedrock (
--bedrock,-b) - Google Vertex AI (
--vertex,-v)
- Claude App OAuth (
- Full development environment in Docker image:
- Ubuntu 24.04 base
- Python 3.12, Node.js 22, Go 1.22, Rust
- Development tools: git, docker, aws, jq, ripgrep, fzf
- Claude CLI and claude-trace pre-installed
- Automatic
--dangerously-skip-permissionsin YOLO mode - Non-root user support with UID/GID mapping
- Authentication file mounting and permission handling
- Proxy support with automatic localhost translation
- Model alias system for easy model selection
- Docker socket mounting option (disabled by default)
- Shell access to container (
--shell) - Request tracing support (
--trace) - Dangerous directory detection with user confirmation prompt
- Quick install script for one-line setup
- Standalone
claude-yoloscript for convenient access - Prefixed logging with
[claude.sh]for better identification - Updated documentation with claude-trace integration details
- Container isolation for safe execution
- Directory access limited to current working directory
- Non-root execution inside container
- Docker socket mounting disabled by default
- Warning system for dangerous directories (home, system directories)