OpenSpace code-exec-fallback
Fallback pattern for executing Python code when execute_code_sandbox fails
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/code-exec-fallback" ~/.claude/skills/hkuds-openspace-code-exec-fallback && rm -rf "$T"
manifest:
gdpval_bench/skills/code-exec-fallback/SKILL.mdsource content
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:
- Write the script using
write_file - Execute via shell using
withrun_shellpython3 script.py - 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
# 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
- Include all imports in the script file - the shell environment may differ from the sandbox
- Use absolute paths or ensure working directory is correct
- Add error handling to your script for better debugging
- Increase timeout for long-running operations (default is 30s)
- Print structured output (JSON) if you need to parse results
- Clean up temporary files after successful execution to avoid clutter
When This Helps
- Sandbox has missing dependencies
- Code execution times out in sandbox but would work in shell
- File I/O operations are restricted in sandbox
- Need to run external commands or system utilities
- Complex multi-file projects that need proper file structure