Skip to content

feat: claude-entrypoint.sh — skip first-run prompts, enforce CLAUDE_CODE_SIMPLE=1 - #15

Merged
itscooleric merged 2 commits into
mainfrom
feat/claude-entrypoint-and-simple-mode
Mar 4, 2026
Merged

itscooleric merged 2 commits into
mainfrom
feat/claude-entrypoint-and-simple-mode

Conversation

@itscooleric

Copy link
Copy Markdown
Owner

Summary

  • Adds claude-entrypoint.sh — a dedicated container entrypoint that pre-seeds ~/.claude.json with onboarding-complete flags and /workspace trust, so docker compose run --rm claude drops straight into the CLI without interactive setup dialogs
  • Wires the new entrypoint into the claude service in docker-compose.yml and sets CLAUDE_CODE_SIMPLE=1 as the compose-level default (overridable via env)
  • Propagates CLAUDE_CODE_SIMPLE=1 consistently to the Makefile claude target and the clide wrapper script
  • Updates README.md with a Claude startup behavior section and a reset/rebuild troubleshooting note
  • Updates DEPLOY.md with ANTHROPIC_API_KEY + CLAUDE_CODE_SIMPLE=1 in the Bernard deploy .env example, plus a matching troubleshooting entry

Test plan

  • make claude — container starts directly into Claude CLI (no onboarding prompts)
  • ./clide claude — same, via wrapper script
  • CLAUDE_CODE_SIMPLE=0 docker compose run --rm claude — full TUI mode still accessible via override
  • docker compose run --rm claude — picks up CLAUDE_CODE_SIMPLE=1 default from compose env
  • Fresh build (docker compose down -v && docker compose build --no-cache) — entrypoint correctly pre-seeds config on first run
  • Containers without ANTHROPIC_API_KEY set — entrypoint exits cleanly (key injection is conditional)

🤖 Generated with Claude Code

itscooleric and others added 2 commits March 4, 2026 05:57
…UDE_CODE_SIMPLE=1

Adds a dedicated entrypoint for the claude service that pre-seeds
~/.claude.json (onboarding flags + workspace trust) so the container
starts directly into the CLI without interactive setup prompts.
CLAUDE_CODE_SIMPLE=1 is now set consistently via docker-compose.yml
(default), Makefile, and the clide wrapper script. README and DEPLOY
docs updated with startup behaviour notes and a reset troubleshooting
step.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…hell service

- Drop the unused `CLAUDE_CONFIG` bash variable from claude-entrypoint.sh
  to fix shellcheck SC2034 warning
- Change `exec claude "$@"` to `exec "${@:-claude}"` so the entrypoint
  is reusable: no args → runs claude (existing behaviour); args → runs
  those instead (e.g. /bin/bash for the shell service)
- Wire the shell service in docker-compose.yml to use claude-entrypoint.sh
  with /bin/bash as command, so claude config is pre-seeded before the
  interactive shell starts and `claude` works without prompts from make shell
- Update README to reflect that shell also benefits from pre-seeding

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@itscooleric
itscooleric merged commit e55e151 into main Mar 4, 2026
4 checks passed
@itscooleric
itscooleric deleted the feat/claude-entrypoint-and-simple-mode branch March 4, 2026 06:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant