> This page is for Harness.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.moveworks.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.moveworks.com/_mcp/server.

# Code Execution

> **Controlled Availability**
>
> The Agentic Orchestrator is in Controlled Availability and comes to your Enterprise Assistant in Q1 2027. Capabilities, limits, and interface labels described here may change before general availability. To request access, contact your Moveworks account team.

When a request needs exact math, a data transformation, or a generated file, the Orchestrator writes Python and runs it in an isolated sandbox. File contents are never pasted into the prompt: the model names the files a run needs, and the sandbox stages them as inputs.

```mermaid
sequenceDiagram
  participant U as User
  participant O as Orchestrator
  participant S as Python sandbox
  U->>O: Message with an uploaded file
  O->>S: Code, values, and named input files
  Note over S: Inputs staged in INPUT_DIR
  alt Result is data
    S-->>O: JSON-serializable result
    O-->>U: Answer in the conversation
  else Result is a file
    S-->>O: One file from OUTPUT_DIR
    O-->>U: Artifact card
  end
```

## How It Works

* **Two outcomes.** The code defines `main(variables)` and either returns JSON-serializable data to the conversation or writes exactly one file to `OUTPUT_DIR`, which becomes an [artifact](/harness/agentic-orchestrator/artifacts).
* **Explicit inputs.** Code sees only the values and files the model passes in: user uploads, earlier artifacts, or [Skill](/harness/agentic-orchestrator/skills) resources. Skill resources reach only file-producing runs.
* **Uploads.** Users attach files in the EmployeeWorks web app. The model sees a list of them and picks a method: code for exact computation, or the [File Processor plugin](/harness/agentic-orchestrator/file-processor) for what a document says (enabled per organization).
* **Fixed libraries.** The Python standard library plus Beautiful Soup, NLTK, NumPy, OpenPyXL, pandas, Pillow, Plotly, PyCryptodomeX, python-docx, python-gnupg, python-pptx, ReportLab, scikit-learn, and seaborn. Code can't install packages.
* **Stateless and offline.** No network access, and nothing carries over between runs. To chain steps, the Orchestrator saves an intermediate artifact and passes it to the next run.

## Limits

| Limit            | Value                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------- |
| Language         | Python only                                                                             |
| Run time         | About 90 seconds per run                                                                |
| Input files      | 5 per run, up to 100 MB each                                                            |
| Output           | One file per file-producing run, up to 25 MiB                                           |
| Uploads          | 5 files per message, 25 MiB each                                                        |
| Upload types     | `pptx`, `xlsx`, `docx`, `pdf`, `csv`, `png`, `jpg`, `jpeg`, `txt`, `md`, `json`, `html` |
| Upload retention | 1 day                                                                                   |

## Configure

Code execution needs no setup. File-producing runs require artifacts, which are enabled per organization. To steer the model, say so in the instructions, for example: "Compute any totals from an uploaded spreadsheet in code."

## Related

* [Artifacts](/harness/agentic-orchestrator/artifacts)
* [Convert a Skill](/harness/agentic-orchestrator/skills/convert-a-skill)