# Remote Tests

Testing against remote executors in integration tests.

- Repository: https://github.com/openinterpreter/openinterpreter (68772 stars)
- Category: Testing
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add openinterpreter/openinterpreter --skill remote-tests -g -a claude-code -y`
Codex: `npx skills add openinterpreter/openinterpreter --skill remote-tests -g -a codex -y`
Cursor: `npx skills add openinterpreter/openinterpreter --skill remote-tests -g -a cursor -y`
Gemini CLI: `npx skills add openinterpreter/openinterpreter --skill remote-tests -g -a gemini-cli -y`

## Description

Testing against remote executors in integration tests.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

Remote executor tests exercise the app-server/exec-server split to ensure that agent features work
in both local and remote execution environments.

Remote executor tests currently require an x86_64 Linux host machine. There are two flavors:

1. Docker (Linux exec-server)
2. Wine (Windows exec-server)

## Test Fixtures

Individual test cases must opt-in to being run against a remote executor.

### codex_core

Use `TestCodexBuilder::build_with_auto_env()` to opt-in to remote execution in core integration
tests unless the test needs more precise control over its executor.

### app-server

Start the server with `TestAppServer::new_with_auto_env()` unless the test defines its own
`$CODEX_HOME/environments.toml` or will define custom environments at runtime.

Start threads with `TestAppServer::send_thread_start_request_with_auto_env()` if you've created the
server with the `auto_env` approach. Omit `ThreadStartParams.environments` (leave it as `None`) when
doing so.

## Test Skips

If a test doesn't pass in a particular remote executor configuration you can skip it in just that
configuration. Include a string reason for future readers when the selected skip macro supports
one.

Choose the skip macro by what causes the test to fail:

- `skip_if_target_windows!`: Windows target behavior.
- `skip_if_wine_exec!`: Wine-exec runner constraints.
- `skip_if_host_windows!`: Windows host constraints.
- `skip_if_remote!`: Local-only test behavior.
- `skip_if_no_remote_env!`: Remote-only test behavior.

Prefer defining tests that run in all host/target configurations by default. See the `$path-types`
skill for the most common changes required to make tests compatible.

## Docker

Docker container is built and initialized via ./scripts/test-remote-env.sh. Sourcing this script
in bash also provides the `codex_remote_env_cleanup` function to use after testing.

To run core integration tests against a Docker remote executor:

The rest: https://github.com/openinterpreter/openinterpreter/blob/HEAD/.codex/skills/remote-tests/SKILL.md
