From bef6fc30c5e9929f77bf884354c12b7ec129ac8c Mon Sep 17 00:00:00 2001 From: sandcage-export Date: Fri, 22 May 2026 02:04:36 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A5=87=20export=20from=20upstream=20(c220?= =?UTF-8?q?697)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compose/docker-compose.yml | 6 +++--- src/docker.rs | 9 +++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml index 3d55c99..3c03456 100644 --- a/compose/docker-compose.yml +++ b/compose/docker-compose.yml @@ -1,6 +1,6 @@ services: claude: - build: ../images/claude + image: sandcage-claude:latest working_dir: /workspace user: "${SANDCAGE_UID}:${SANDCAGE_GID}" volumes: @@ -13,7 +13,7 @@ services: stdin_open: true codex: - build: ../images/codex + image: sandcage-codex:latest working_dir: /workspace user: "${SANDCAGE_UID}:${SANDCAGE_GID}" volumes: @@ -26,7 +26,7 @@ services: stdin_open: true shell: - build: ../images/base + image: sandcage-base:latest working_dir: /workspace user: "${SANDCAGE_UID}:${SANDCAGE_GID}" volumes: diff --git a/src/docker.rs b/src/docker.rs index 9c4a158..335e752 100644 --- a/src/docker.rs +++ b/src/docker.rs @@ -122,8 +122,13 @@ pub fn build_compose_env(workspace: &Path) -> Result> { let home = dirs::home_dir().ok_or(DockerError::NoHomeDir)?; let sandcage_home = home.join(".sandcage"); - let uid = id_flag("-u")?; - let gid = id_flag("-g")?; + // On Windows, UID/GID passthrough is meaningless — use the container's + // built-in agent user (1000:1000). On Linux, match the host user. + let (uid, gid) = if cfg!(windows) { + ("1000".to_string(), "1000".to_string()) + } else { + (id_flag("-u")?, id_flag("-g")?) + }; let mut env = HashMap::new(); env.insert("SANDCAGE_UID".into(), uid);