OpenSpace sandbox-execution-fallback

Recover from execute_code_sandbox failures by writing Python scripts to files and executing via run_shell

install
source · Clone the upstream repo
git clone https://github.com/HKUDS/OpenSpace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HKUDS/OpenSpace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/gdpval_bench/skills/sandbox-execution-fallback" ~/.claude/skills/hkuds-openspace-sandbox-execution-fallback && rm -rf "$T"
manifest: gdpval_bench/skills/sandbox-execution-fallback/SKILL.md
source content

Sandbox Execution Fallback

When to Use

Apply this pattern when

execute_code_sandbox
fails or times out, particularly for:

  • Spreadsheet generation (pandas, openpyxl, xlsxwriter)
  • Complex data processing with file I/O
  • Tasks requiring external library imports
  • Long-running computations that hit timeout limits

Recovery Procedure

Step 1: Capture the Python Code

Extract or reconstruct the Python code that failed in

execute_code_sandbox
.

Step 2: Write Code to File

Use

write_file
to save the script with a
.py
extension:

write_file(
    path="script_name.py",
    content="""
import pandas as pd
# Your implementation here
"""
)

Step 3: Execute via run_shell

Run the script using the system Python interpreter:

run_shell(command="python3 script_name.py")

Step 4: Verify Output

Confirm the results match expected outputs (files created, data processed correctly, etc.).

Complete Example

# Failed: execute_code_sandbox with pandas Excel generation

# Recovery - Step 1 & 2: Write script to file
write_file(
    path="generate_pnl_report.py",
    content="""
import pandas as pd
from openpyxl import Workbook

# Create sample data
data = {
    'Category': ['Revenue', 'Expenses', 'Tax'],
    'Amount': [10000, 3000, 500]
}
df = pd.DataFrame(data)

# Write to Excel
df.to_excel('pnl_report.xlsx', index=False)
print('Report generated: pnl_report.xlsx')
"""
)

# Step 3: Execute via shell
run_shell(command="python3 generate_pnl_report.py")

# Step 4: Verify file was created
run_shell(command="ls -la pnl_report.xlsx")

Why This Works

Aspectexecute_code_sandboxrun_shell + write_file
EnvironmentSandboxed, limitedFull system Python
File I/ORestrictedFull access
TimeoutStrict limitsMore flexible
Library SupportMay be limitedSystem-installed packages
ResultIdentical outputIdentical output

Best Practices

  1. Use descriptive filenames - e.g.,
    generate_report.py
    ,
    process_data.py
  2. Add error handling - Include try/except blocks in your script
  3. Print progress - Use print statements for debugging
  4. Clean up - Remove temporary scripts after successful execution if needed
  5. Verify results - Always confirm outputs before proceeding

Common Use Cases

  • Excel/CSV report generation
  • Data transformation pipelines
  • Batch file processing
  • API data aggregation
  • Chart and visualization creation

Troubleshooting

If

run_shell
also fails:

  1. Check Python is available:
    run_shell(command="python3 --version")
  2. Install missing packages:
    run_shell(command="pip3 install pandas openpyxl")
  3. Check file permissions and paths
  4. Review stderr output for specific errors