[Antigravity IDE] Dev Container: Remote server installation fails silently

# [BUG] Dev Container: Remote server installation fails silently

## Summary

When attempting to connect to a dev container in Antigravity, the remote server installation fails with a generic error. The **exact same dev container configuration works perfectly in VS Code**, indicating this is an Antigravity-specific issue.

## Environment

- **Antigravity Version**: 1.11.9 (commit: b31a0ea425328717c6bd1cff12c6755fd3d63a9d)

- **OS**: Ubuntu 22.04.1 LTS (Linux 6.8.0-87-generic x86_64)

- **Docker**: 29.1.1

- **Docker Compose**: v2.15.1

- **Container Base**: ruby:3.4.7-slim (Debian 13 Trixie)

## Steps to Reproduce

1. Create a dev container with the following configuration:

**`.devcontainer/devcontainer.json`**:

```json

{

“name”: “MyApp (Rails dev)”,

“dockerComposeFile”: [“docker-compose.yml”],

“service”: “web”,

“workspaceFolder”: “/rails”,

“features”: {

" Package features/github-cli · GitHub ": {},

" Package features/common-utils · GitHub ": {}

}

}

```

**`.devcontainer/docker-compose.yml`**:

```yaml

services:

web:

image: my_app-web

ports:

  - "3000:3000"

volumes:

  - ..:/rails

  - bundle_cache:/usr/local/bundle

environment:

RAILS_ENV: development

command: /bin/sh -c “rm -f tmp/pids/server.pid && ./bin/rails server -b 0.0.0.0”

volumes:

bundle_cache:

```

**`Dockerfile.dev`**:

```dockerfile

ARG RUBY_VERSION=3.4.7

FROM Docker Hub Container Image Library | App Containerization

WORKDIR /rails

RUN apt-get update -qq && \

apt-get install --no-install-recommends -y curl wget libjemalloc2 libvips sqlite3 build-essential git libyaml-dev pkg-config && \\

rm -rf /var/lib/apt/lists /var/cache/apt/archives

ENV RAILS_ENV=“development” \

BUNDLE_PATH="/usr/local/bundle"

COPY Gemfile Gemfile.lock ./

RUN bundle install

COPY . .

ENTRYPOINT [“/rails/bin/docker-entrypoint”]

EXPOSE 3000

CMD [“./bin/rails”, “server”, “-b”, “0.0.0.0”]

```

2. Build the image: `docker build -f Dockerfile.dev -t my_app-web .`

3. Start the dev container in Antigravity

4. Observe the error

## Expected Behavior

The dev container should start successfully and Antigravity should connect to the remote server inside the container (like VS Code does).

## Actual Behavior

Connection fails with:

```

[Error - 18:12:46.814] Error executing command: Command failed: docker exec -e SSH_AUTH_SOCK=/tmp/antigravity-remote-ssh-a39786bfeaa47755ef400a96.sock -u root 8da905906dc54c6c91b562b3bf8a523ce8274f7b826c8afc1007b7db4c126df3 bash /tmp/a39786bfeaa47755ef400a96.sh

[Error - 18:12:46.814] stdout: Waiting for lock…

Lock acquired, proceeding with installation.

[Error - 18:12:46.815] Failed to install remote server in container

```

## Investigation

I’ve verified that:

:white_check_mark: Container runs correctly

:white_check_mark: `wget` is installed (`/usr/bin/wget`)

:white_check_mark: Network connectivity works

:white_check_mark: Antigravity server download URL is accessible

:white_check_mark: **Manual installation works perfectly**:

```bash

docker exec container-web-1 bash -c “mkdir -p /root/.antigravity-server/bin/b31a0ea425328717c6bd1cff12c6755fd3d63a9d && cd /root/.antigravity-server/bin/b31a0ea425328717c6bd1cff12c6755fd3d63a9d && wget --tries=3 --timeout=10 --quiet -O vscode-server.tar.gz ‘https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.11.9-b31a0ea425328717c6bd1cff12c6755fd3d63a9d/linux-x64/Antigravity-reh.tar.gz’ && tar -xf vscode-server.tar.gz --strip-components 1 && rm -f vscode-server.tar.gz”

```

This succeeds and extracts the server correctly.

## Key Observation

:red_circle: **The exact same dev container configuration works perfectly in VS Code**

This strongly suggests an Antigravity-specific issue with the dev container integration or the server installation script.

## Additional Notes

The installation script acquires the lock successfully (“Lock acquired, proceeding with installation.”) but then **fails silently without any meaningful error message**, making it very difficult to debug.

## Workaround

Currently using VS Code for dev container development.

## Impact

This prevents using Antigravity with dev containers, which is critical for modern containerized development workflows.

-–

## Full Logs

Click to expand complete logs

```

[Info - 18:12:44.449] Resolving dev container authority…

[Info - 18:12:44.450] Starting Antigravity Dev Containers…

[Info - 18:12:44.520] Docker version: 29.1.1

[2025-11-29T18:12:44.849Z] @devcontainers/cli 0.72.0. Node.js v22.18.0

[2025-11-29T18:12:45.054Z] Start: Resolving Remote

[2025-11-29T18:12:45.790Z] Stop (736 ms): Resolving Remote

[Info - 18:12:45.801] Found container ID: 8da905906dc54c6c91b562b3bf8a523ce8274f7b826c8afc1007b7db4c126df3

[Info - 18:12:46.341] Remote user: root

[Info - 18:12:46.341] Installing remote server in container…

[Info - 18:12:46.665] SSH Agent Forwarding: true

[Error - 18:12:46.814] Error executing command: Command failed: docker exec -e SSH_AUTH_SOCK=/tmp/antigravity-remote-ssh-a39786bfeaa47755ef400a96.sock -u root 8da905906dc54c6c91b562b3bf8a523ce8274f7b826c8afc1007b7db4c126df3 bash /tmp/a39786bfeaa47755ef400a96.sh

Command: docker exec -e SSH_AUTH_SOCK=/tmp/antigravity-remote-ssh-a39786bfeaa47755ef400a96.sock -u root 8da905906dc54c6c91b562b3bf8a523ce8274f7b826c8afc1007b7db4c126df3 bash /tmp/a39786bfeaa47755ef400a96.sh

[Error - 18:12:46.814] stdout: Waiting for lock…

Lock acquired, proceeding with installation.

[Error - 18:12:46.815] Failed to install remote server in container: Error: Command failed: docker exec -e SSH_AUTH_SOCK=/tmp/antigravity-remote-ssh-a39786bfeaa47755ef400a96.sock -u root 8da905906dc54c6c91b562b3bf8a523ce8274f7b826c8afc1007b7db4c126df3 bash /tmp/a39786bfeaa47755ef400a96.sh

```

-–

**Has anyone else experienced this issue? Any suggestions for debugging or workarounds?**

-–

_Note: This issue was debugged and documented with assistance from Antigravity AI, which helped identify the root cause through systematic testing (verifying wget availability, network connectivity, manual server installation, etc.) and create this comprehensive bug report._

4 Likes

Looks like I have the similar issue. I tried to attach the running container, but got the error:

Failed to change server installation script owner to 1000:1000: Error: Command failed: docker exec -u root a2rl_docker_constructor0 chown 1000:1000: /tmp/cb94431b5c8bf54bc7a2898c.sh

chown: invalid group: ‘1000:1000:’

And it works properly when I attach by VSCode.
In my case I think it happens because the command has a syntax error: 1000:1000: (note the colon at the end).
Unfortunately, I don’t know how to fix it.

Best,
Alex

When creating a new app with the latest Rails 8, the --devcontainer option works smoothly in both VS Code and Antigravity.

Antigravity’s dev container integration uses the same underlying @devcontainers/cli logic as VS Code but wraps the remote server bootstrap inside its own installation script. That script expects to unpack the server binary under /root/.antigravity-server/bin/<commit> using a writable home directory and standard Linux tools (tar, bash, and coreutils). In slim Debian and Ruby base images, /root is often mounted as read-only or missing tar symlinks, which causes the silent failure you’re seeing right after the lock acquisition step. The VS Code container succeeds because its installer falls back to /tmp when the home directory isn’t writable.

To fix this, set ENV HOME=/root explicitly in your Dockerfile and confirm that /root is writable before installation. You can also add RUN apt-get install -y tar coreutils to ensure the required binaries exist. If you want a quick confirmation, run docker exec -u root <container_id> bash -c “echo \$HOME && touch \$HOME/testfile” to verify permissions. Once the container provides a writable home directory and tar is available, Antigravity will complete the remote server installation normally.

—Taz

I’ve been debugging similar issue on my Mac Apple Silicon deeply and can confirm this is not a user/container misconfiguration, but a bug in Antigravity’s remote server bootstrap script.

[Info   - 12:03:43.311] Found container ID: d37cb6f228788ae9799bdb3429f314966b1a2ebb4f2230d50d41a77e523f331c

[Info   - 12:03:43.311] Reading devcontainer configuration with command: "/Applications/Antigravity.app/Contents/Frameworks/Antigravity Helper (Plugin).app/Contents/MacOS/Antigravity Helper (Plugin)" "/Applications/Antigravity.app/Contents/Resources/app/extensions/antigravity-dev-containers/dist/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js" read-configuration --workspace-folder "/Users/marceloarevalos/Projects/others/trading_bot" --container-id "d37cb6f228788ae9799bdb3429f314966b1a2ebb4f2230d50d41a77e523f331c" --config "/Users/marceloarevalos/Projects/others/trading_bot/.devcontainer/devcontainer.json"

[Info   - 12:03:43.490] Finished Read Dev Container Configuration.

[Info   - 12:03:43.491] Remote user: dev-user

[Info   - 12:03:43.491] Installing remote server in container...

…

[Info   - 12:03:44.163] Finished installing remote server in container. Output: Waiting for lock...

Lock acquired, proceeding with installation.

Error need wget to download server binary

This error does not necessarily mean that wget is missing.
It comes from a bug in Antigravity’s remote server bootstrap script, specifically in how it detects whether wget is available.

Problematic code (from the installer script)

if [ ! -z $(which wget) ]; then
wget …
else
echo “Error need wget to download server binary”
print_install_results_and_exit 1
fi

Why this fails (even when wget is installed)

  1. which is not POSIX and not guaranteed to exist

  2. In non-interactive, sanitized shells (typical for devcontainers):

    • which may not be present
    • or not in $PATH
  3. When which is missing, this expands to:

$(which wget) → ""
  1. The script does not check the exit code, only string emptiness

  2. Missing robust fallback logic

For this case Antigravity only needs to change one line in the bootstrap script:


- if [ ! -z $(which wget) ]; then

+ if command -v wget >/dev/null 2>&1; then

Uses a shell buildtin
works in minimal environments

same error here

2025-12-15 16:27:23.408 [info] [Trace	- 08:27:23.408] [stderr] debug1: Sending environment.
2025-12-15 16:27:23.409 [info] [Trace	- 08:27:23.408] [stderr] debug1: Sending command: bash -s
2025-12-15 16:27:23.409 [info] [Trace	- 08:27:23.408] [stderr] debug1: pledge: network
2025-12-15 16:27:24.586 [info] [Trace	- 08:27:24.585] Waiting for lock...
2025-12-15 16:27:24.586 [info] [Trace	- 08:27:24.585] Lock acquired, proceeding with installation.
2025-12-15 16:27:24.586 [info] [Trace	- 08:27:24.586] Cleaning up old server installations...
2025-12-15 16:27:24.587 [info] [Trace	- 08:27:24.586] Finished cleaning up old server installations.
2025-12-15 16:27:24.587 [info] [Trace	- 08:27:24.587] [stderr] bash: line 45: flock: command not found
2025-12-15 16:27:24.598 [info] [Trace	- 08:27:24.597] Error need wget to download server binary
2025-12-15 16:27:24.598 [info] [Trace	- 08:27:24.597] Error: installation failed.
2025-12-15 16:27:24.598 [info] [Trace	- 08:27:24.597] 1613173558af119ec747e1fe: start
2025-12-15 16:27:24.598 [info] [Trace	- 08:27:24.597] exitCode==1==
2025-12-15 16:27:24.598 [info] [Error	- 08:27:24.597] An error occurred while starting the server, with exit code: 1
More info can be found in the Output tab.
2025-12-15 16:27:24.604 [info] [Trace	- 08:27:24.604] [stderr] debug1: client_input_channel_req: channel 2 rtype exit-status reply 0
2025-12-15 16:27:24.604 [info] [Trace	- 08:27:24.604] [stderr] bash: line 51: flock: command not found
2025-12-15 16:27:24.605 [info] [Trace	- 08:27:24.604] [stderr] debug1: channel 2: free: client-session, nchannels 3
2025-12-15 16:27:24.605 [info] [Trace	- 08:27:24.604] [stderr] debug1: channel 0: free: port listener, nchannels 2
2025-12-15 16:27:24.605 [info] [Trace	- 08:27:24.604] [stderr] debug1: channel 1: free: port listener, nchannels 1
2025-12-15 16:27:24.605 [info] [Trace	- 08:27:24.604] [stderr] Transferred: sent 17960, received 4744 bytes, in 1.7 seconds
2025-12-15 16:27:24.605 [info] [Trace	- 08:27:24.604] [stderr] Bytes per second: sent 10862.6, received 2869.3
2025-12-15 16:27:24.605 [info] [Trace	- 08:27:24.604] [stderr] debug1: Exit status 0
2025-12-15 16:27:24.607 [info] [Error	- 08:27:24.607] SSH server closed unexpectedly.
```

yeah, I don’t understand why the antigravity installation script requires flock and wget, which are not pre-installed in macOS.

1 Like

Hello, thank you for sharing your experience with Antigravity.
Regarding running Devcontainers, please review the findings of @iTazB above and the response of @Pablo_Bcn in this thread.
If you continue to experience issues, please share more details regarding your steps and the specific error logs.

1 Like

Can you Fix URL missing?

2 Likes

Hi @Feiteng_Li

Thank you for reporting this issue. We have escalated this to our internal team; please track the progress in the relevant thread for further updates.

1 Like