services: claude: image: sandcage-claude:latest working_dir: ${SANDCAGE_CONTAINER_DIR} user: "${SANDCAGE_UID}:${SANDCAGE_GID}" volumes: - ${SANDCAGE_WORKSPACE}:${SANDCAGE_CONTAINER_DIR} - ${SANDCAGE_HOME}/.claude:/home/agent/.claude - ${SANDCAGE_HOME}/.claude.json:/home/agent/.claude.json - ${SANDCAGE_GLOBAL_JUSTFILE}:/home/agent/.justfile:ro environment: - HOME=/home/agent tty: true stdin_open: true codex: image: sandcage-codex:latest working_dir: ${SANDCAGE_CONTAINER_DIR} user: "${SANDCAGE_UID}:${SANDCAGE_GID}" volumes: - ${SANDCAGE_WORKSPACE}:${SANDCAGE_CONTAINER_DIR} - ${SANDCAGE_HOME}/.codex:/home/agent/.codex - ${SANDCAGE_GLOBAL_JUSTFILE}:/home/agent/.justfile:ro environment: - HOME=/home/agent tty: true stdin_open: true shell: image: sandcage-base:latest working_dir: ${SANDCAGE_CONTAINER_DIR} user: "${SANDCAGE_UID}:${SANDCAGE_GID}" volumes: - ${SANDCAGE_WORKSPACE}:${SANDCAGE_CONTAINER_DIR} - ${SANDCAGE_HOME}/.claude:/home/agent/.claude - ${SANDCAGE_HOME}/.claude.json:/home/agent/.claude.json - ${SANDCAGE_HOME}/.codex:/home/agent/.codex - ${SANDCAGE_GLOBAL_JUSTFILE}:/home/agent/.justfile:ro environment: - HOME=/home/agent tty: true stdin_open: true entrypoint: ["/bin/zsh"]