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.mdsource 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
| Aspect | execute_code_sandbox | run_shell + write_file |
|---|---|---|
| Environment | Sandboxed, limited | Full system Python |
| File I/O | Restricted | Full access |
| Timeout | Strict limits | More flexible |
| Library Support | May be limited | System-installed packages |
| Result | Identical output | Identical output |
Best Practices
- Use descriptive filenames - e.g.,
,generate_report.pyprocess_data.py - Add error handling - Include try/except blocks in your script
- Print progress - Use print statements for debugging
- Clean up - Remove temporary scripts after successful execution if needed
- 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:
- Check Python is available:
run_shell(command="python3 --version") - Install missing packages:
run_shell(command="pip3 install pandas openpyxl") - Check file permissions and paths
- Review stderr output for specific errors