# Code Exec Fallback

Fallback pattern for executing Python code when execute_code_sandbox fails

- Repository: https://github.com/HKUDS/AgentPilot (7784 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add HKUDS/AgentPilot --skill code-exec-fallback -g -a claude-code -y`
Codex: `npx skills add HKUDS/AgentPilot --skill code-exec-fallback -g -a codex -y`
Cursor: `npx skills add HKUDS/AgentPilot --skill code-exec-fallback -g -a cursor -y`
Gemini CLI: `npx skills add HKUDS/AgentPilot --skill code-exec-fallback -g -a gemini-cli -y`

## Description

Fallback pattern for executing Python code when execute_code_sandbox fails

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

# Code Execution Fallback

## When to Use

Use this pattern when `execute_code_sandbox` fails repeatedly (typically 2+ attempts) due to environment limitations, timeouts, dependency issues, or sandbox restrictions.

## The Pattern

Instead of executing code directly in the sandbox, write the Python script to a file and execute it via shell:

1. **Write the script** using `write_file`
2. **Execute via shell** using `run_shell` with `python3 script.py`
3. **Clean up** (optional) remove the temporary file

## Step-by-Step Instructions

### Step 1: Write the Python Script

```
Use write_file to save your Python code:
- Path: Choose a descriptive name (e.g., "process_data.py", "analyze.py")
- Content: Your complete Python script with all imports and logic
```

### Step 2: Execute via Shell

```
Use run_shell to execute:
- Command: "python3 <script_name>.py"
- Timeout: Set appropriately for your task (default 30s, increase if needed)
```

### Step 3: Handle Output

```
- Capture stdout/stderr from run_shell
- Parse results as needed
- Optionally delete the script file after execution
```

## Example

```python
# Instead of this (which may fail):
execute_code_sandbox(code="import pandas as pd; df = pd.read_csv('data.csv')...")

# Do this:
write_file(path="analyze.py", content="""
import pandas as pd
import json

df = pd.read_csv('data.csv')
result = df.groupby('category').sum()
print(json.dumps(result.to_dict()))
""")

run_shell(command="python3 analyze.py", timeout=60)
```

## Tips for Success

1. **Include all imports** in the script file - the shell environment may differ from the sandbox
2. **Use absolute paths** or ensure working directory is correct
3. **Add error handling** to your script for better debugging
4. **Increase timeout** for long-running operations (default is 30s)
5. **Print structured output** (JSON) if you need to parse results
6. **Clean up temporary files** after successful execution to avoid clutter

## When This Helps

The rest: https://github.com/HKUDS/AgentPilot/blob/HEAD/openspace/benchmarks/gdpval/skills/code-exec-fallback/SKILL.md
