# Code Execution

Some models and systems on Groq have native support for automatic code execution, allowing them to perform calculations, run code snippets, and solve computational problems in real-time.

<br />

Only Python is currently supported for code execution.

The use of this tool with a supported model or system in GroqCloud is not a HIPAA Covered Cloud Service under Groq's Business Associate Addendum at this time. This tool is also not available currently for use with regional / sovereign endpoints.

## Supported Models and Systems

Built-in code execution is supported for the following models and systems:

| Model ID                        | Model                          |
|---------------------------------|--------------------------------|
| OpenAI GPT-OSS 20B | [OpenAI GPT-OSS 20B](/docs/model/openai/gpt-oss-20b)
| OpenAI GPT-OSS 120B | [OpenAI GPT-OSS 120B](/docs/model/openai/gpt-oss-120b)
| Compound | [Compound](/docs/compound/systems/compound)
| Compound Mini | [Compound Mini](/docs/compound/systems/compound-mini)

<br />

For a comparison between the `groq/compound` and `groq/compound-mini` systems and more information regarding additional capabilities, see the [Compound Systems](/docs/compound/systems#system-comparison) page.

## Quick Start (Compound)

To use code execution with [Groq's Compound systems](/docs/compound), change the `model` parameter to one of the supported models or systems.

*And that's it!*

<br />

When the API is called, it will intelligently decide when to use code execution to best answer the user's query. Code execution is performed on the server side in a secure sandboxed environment, so no additional setup is required on your part.

### Final Output

This is the final response from the model, containing the answer based on code execution results. The model combines computational results with explanatory text to provide a comprehensive response. Use this as the primary output for user-facing applications.

<br />

The square root of 101 is: 
10.04987562112089

Here is the Python code I used:

```
python
import math
print("The square root of 101 is: ")
print(math.sqrt(101))
```

### Reasoning and Internal Tool Calls  

This shows the model's internal reasoning process and the Python code it executed to solve the problem. You can inspect this to understand how the model approached the computational task and what code it generated. This is useful for debugging and understanding the model's decision-making process.

<br />


We need sqrt(101). Compute.math.sqrt returns 10.0498755... 


### Executed Tools Information

This contains the raw executed tools data, including the generated Python code, execution output, and metadata. You can use this to access the exact code that was run and its results programmatically.

<br /


## Quick Start (GPT-OSS)

To use code execution with OpenAI's GPT-OSS models on Groq ([20B](/docs/model/openai/gpt-oss-20b) & [120B](/docs/model/openai/gpt-oss-120b)), add the `code_interpreter` tool to your request.

When the API is called, it will use code execution to best answer the user's query. Code execution is performed on the server side in a secure sandboxed environment, so no additional setup is required on your part.

### Final Output

This is the final response from the model, containing the answer based on code execution results. The model combines computational results with explanatory text to provide a comprehensive response.

<br />

111.1080555135405112450044

### Reasoning and Internal Tool Calls

This shows the model's internal reasoning process and the Python code it executed to solve the problem. You can inspect this to understand how the model approached the computational task and what code it generated.

<br />

We need sqrt(12345). Compute.math.sqrt returns 111.1080555... Let's compute with precision.Let's get more precise.We didn't get output because decimal sqrt needs context. Let's compute.It didn't output because .sqrt() might not be available for Decimal? Actually Decimal has sqrt method? There is sqrt in Decimal from Python 3.11? Actually it's decimal.Decimal.sqrt() available. But maybe need import Decimal. Let's try.It outputs nothing? Actually maybe need to print.

### Executed Tools Information

This contains the raw executed tools data, including the generated Python code, execution output, and metadata. You can use this to access the exact code that was run and its results programmatically.

<br /


## How It Works

When you make a request to a model or system that supports code execution, it:

1. **Analyzes your query** to determine if code execution would be helpful (for compound systems or when tool choice is not set to `required`)
2. **Generates Python code** to solve the problem or answer the question
3. **Executes the code** in a secure sandboxed environment powered by [E2B](https://e2b.dev/)
4. **Returns the results** along with the code that was executed

## Use Cases (Compound)

### Mathematical Calculations

Ask the model to perform complex calculations, and it will automatically execute Python code to compute the result.


### Code Debugging and Testing

Provide code snippets to check for errors or understand their behavior. The model can execute the code to verify functionality.

## Security and Limitations

- Code execution runs in a **secure sandboxed environment** with no access to external networks or sensitive data
- Only **Python** is currently supported for code execution
- The execution environment is **ephemeral** - each request runs in a fresh, isolated environment
- Code execution has reasonable **timeout limits** to prevent infinite loops
- No persistent storage between requests

## Pricing

Please see the [Pricing](https://groq.com/pricing) page for more information.

## Provider Information

Code execution functionality is powered by Foundry Labs ([E2B](https://e2b.dev/)), a secure cloud environment for AI code execution. E2B provides isolated, ephemeral sandboxes that allow models to run code safely without access to external networks or sensitive data.

---

## MLflow + Groq: Open-Source GenAI Observability