Skip to content
This repository was archived by the owner on Feb 20, 2026. It is now read-only.

Add Linux Docker socket support, OAuth credentials, and --no-web terminal mode#37

Open
jlaustill wants to merge 12 commits intotextcortex:mainfrom
jlaustill:feature/linux-docker-socket-support
Open

Add Linux Docker socket support, OAuth credentials, and --no-web terminal mode#37
jlaustill wants to merge 12 commits intotextcortex:mainfrom
jlaustill:feature/linux-docker-socket-support

Conversation

@jlaustill
Copy link

@jlaustill jlaustill commented Feb 1, 2026

Summary

Docker Socket Detection

  • Add rootless Docker socket paths for Linux (`$XDG_RUNTIME_DIR/docker.sock`, `/run/user//docker.sock`)
  • Add Docker Desktop for Linux socket path (`~/.docker/desktop/docker.sock`)
  • Add Colima socket paths for macOS (`/.colima/default/docker.sock`, `/.docker/run/docker.sock`) - incorporates changes from Add Colima Docker socket path support #35

OAuth Credential Support

  • Fix OAuth credential detection to find `~/.claude/.credentials.json` with `claudeAiOauth` key
  • Exclude actively-written directories (debug, cache, session-env, etc.) when copying `.claude` config to prevent tar errors

Terminal Mode (`--no-web`)

  • Add `--no-web` CLI option for direct terminal attachment without browser
  • Implement proper PTY size handling - terminal matches your window size
  • Handle terminal resize events so resizing works correctly

Bug Fixes

  • Fix bypass permissions setup stream handling (consume stream data to prevent hanging)
  • Use `settings.local.json` with correct format for bypass mode configuration

Test plan

  • Tested on Linux with Docker installed via `apt install docker.io`
  • Verified OAuth credentials are detected and passed to container
  • Verified Claude Code starts successfully with Claude Max authentication
  • Tested `--no-web` terminal mode with proper sizing
  • Verified web UI mode still works

Generated with Claude Code

jlaustill and others added 5 commits February 1, 2026 09:19
- Add rootless Docker socket paths ($XDG_RUNTIME_DIR/docker.sock, /run/user/<uid>/docker.sock)
- Add Docker Desktop for Linux socket path (~/.docker/desktop/docker.sock)
- Add Colima socket paths for macOS (~/.colima/default/docker.sock, ~/.docker/run/docker.sock)
- Fix OAuth credential detection to find ~/.claude/.credentials.json with claudeAiOauth key
- Exclude actively-written directories when copying .claude config to prevent tar errors

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Configure Claude Code settings to use bypassPermissions mode by default,
eliminating the "By proceeding, you accept all responsibility" confirmation
prompt when starting Claude inside the container.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Auto-accept bypass permissions prompt on container startup
- Add --no-web CLI option for terminal-only mode (no browser)
- Implement terminal attach with proper PTY size handling and resize support
- Fix bypass permissions setup to consume stream data (prevents hanging)
- Use settings.local.json with correct format for bypass mode config

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jlaustill jlaustill changed the title Add Linux Docker socket support and fix OAuth credential discovery Add Linux Docker socket support, OAuth credentials, and --no-web terminal mode Feb 1, 2026
Config priority: defaults < global < local project config

This allows setting dockerImage globally without modifying code:
  mkdir -p ~/.config/claude-sandbox
  echo '{"dockerImage": "docker-devbox:latest"}' > ~/.config/claude-sandbox/config.json

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jlaustill jlaustill force-pushed the feature/linux-docker-socket-support branch from c193dbc to 8d00860 Compare February 1, 2026 18:58
jlaustill and others added 6 commits February 1, 2026 12:04
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Plugin registry files (installed_plugins.json, known_marketplaces.json)
contain absolute paths from the host user's home directory. When copied
into the container where the user is claude (/home/claude), these paths
don't resolve and all plugins fail to load. Rewrite the paths after
copying the .claude directory into the container.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Persistent shadow repos (~/.cache instead of /tmp), Docker restart
policy (unless-stopped), session store with atomic writes, auto-commit
inside containers, and recovery command to re-attach or extract work
from crashed sessions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant