Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

Code Runner

v0.1.0

Run code snippets in 30+ programming languages including JavaScript, Python, TypeScript, Java, C, C++, Go, Rust, Ruby, PHP, and more. Use when the user wants...

0· 1.6k· 1 versions· 10 current· 12 all-time· Updated 19h ago· MIT-0

Install

openclaw skills install code-runner

Code Runner Skill

This skill enables you to run code snippets in multiple programming languages directly from the command line.

When to Use This Skill

Use this skill when:

  • The user wants to run or execute a code snippet
  • Testing algorithm implementations or logic
  • Verifying expected output of code
  • Running quick scripts or one-liners
  • Checking syntax or runtime behavior
  • Demonstrating code functionality

Supported Languages

The following languages are supported (requires the interpreter/compiler to be installed):

LanguageCommandFile Extension
JavaScriptnode.js
TypeScriptts-node.ts
Pythonpython.py
Javajava (compile & run).java
Cgcc (compile & run).c
C++g++ (compile & run).cpp
Gogo run.go
Rustrustc (compile & run).rs
Rubyruby.rb
PHPphp.php
Perlperl.pl
Lualua.lua
RRscript.r
Swiftswift.swift
Kotlinkotlin.kts
Scalascala.scala
Groovygroovy.groovy
Dartdart.dart
Juliajulia.jl
Haskellrunhaskell.hs
Clojureclojure.clj
F#dotnet fsi.fsx
C#dotnet script.csx
PowerShellpwsh.ps1
Bashbash.sh
Batchcmd /c.bat
CoffeeScriptcoffee.coffee
Crystalcrystal.cr
Elixirelixir.exs
Nimnim compile --run.nim
OCamlocaml.ml
Racketracket.rkt
Schemescheme.scm
Lispsbcl --script.lisp

See references/LANGUAGES.md for detailed language configuration.

How to Run Code

Step 1: Identify the Language

Determine the programming language from:

  • User's explicit request (e.g., "run this Python code")
  • File extension if provided
  • Code syntax patterns

Step 2: Execute Using the Runner Script

⚠️ Important for AI Agents: Use stdin to avoid escaping issues with quotes, backslashes, and special characters.

Recommended Method (stdin):

echo "<code>" | node scripts/run-code.cjs <languageId>

Alternative Method (CLI argument - for simple code only):

node scripts/run-code.cjs <languageId> "<code>"

Example - JavaScript:

echo "console.log('Hello, World!')" | node scripts/run-code.cjs javascript

Example - Python:

echo "print('Hello, World!')" | node scripts/run-code.cjs python

Example - Java (multi-line):

echo "public class Test {
    public static void main(String[] args) {
        System.out.println(\"Hello from Java!\");
    }
}" | node scripts/run-code.cjs java

Example - Multi-line code from variable:

# In bash
CODE='import math
print("Pi:", math.pi)
print("Result:", math.factorial(5))'
echo "$CODE" | node scripts/run-code.cjs python

# In PowerShell (inline here-string)
@"
import math
print("Pi:", math.pi)
print("Result:", math.factorial(5))
"@ | node scripts/run-code.cjs python

Step 3: Return Results

  • Show the output (stdout) to the user
  • If there are errors (stderr), explain what went wrong
  • Suggest fixes for common errors

Platform Notes

Windows

  • Use cmd /c for batch scripts
  • PowerShell scripts require pwsh or powershell
  • Path separators use backslash \

macOS / Linux

  • Bash scripts work natively
  • Swift available on macOS
  • Use #!/usr/bin/env shebang for portable scripts

Error Handling

Common issues and solutions:

  1. Command not found: The language interpreter is not installed or not in PATH

    • Suggest installing the required runtime
    • Provide installation instructions
  2. Syntax errors: Code has syntax issues

    • Show the error message
    • Point to the line number if available
  3. Runtime errors: Code runs but fails during execution

    • Display the stack trace
    • Explain the error type
  4. Timeout: Code takes too long (default: 30 seconds)

    • Warn about infinite loops
    • Suggest optimizations

Security Considerations

⚠️ Important: Running arbitrary code can be dangerous. Always:

  1. Review the code before execution
  2. Be cautious with code that:
    • Accesses the file system
    • Makes network requests
    • Executes system commands
    • Modifies environment variables
  3. Consider running in a sandboxed environment for untrusted code

Examples

Example 1: Run a JavaScript calculation

echo "console.log(Array.from({length: 10}, (_, i) => i * i))" | node scripts/run-code.cjs javascript

Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Example 2: Run Python with imports

echo "import math; print(math.factorial(10))" | node scripts/run-code.cjs python

Output: 3628800

Example 3: Test a Go function

echo 'package main; import "fmt"; func main() { fmt.Println("Hello from Go!") }' | node scripts/run-code.cjs go

Output: Hello from Go!

Version tags

latestvk97a2dfwhafxaan2hq1nds32tx82zhqs