Code execution
code_execution runs sandboxed remote Python analysis on xAI’s Responses API. It is registered by the bundled xai plugin (under the tools contract) and dispatches to the same https://api.x.ai/v1/responses endpoint used by x_search.
| Property | Value |
|---|---|
| Tool name | code_execution |
| Provider plugin | xai (bundled, enabledByDefault: true) |
| Auth | xAI auth profile, XAI_API_KEY, or plugins.entries.xai.config.webSearch.apiKey |
| Default model | grok-4-1-fast |
| Default timeout | 30 seconds |
Default maxTurns | unset (xAI applies its own internal limit) |
This is different from local exec:
execruns shell commands on your machine or paired node.code_executionruns Python in xAI’s remote sandbox.
Use code_execution for:
- Calculations.
- Tabulation.
- Quick statistics.
- Chart-style analysis.
- Analyzing data returned by
x_searchorweb_search.
Do not use it when you need local files, your shell, your repo, or paired devices. Use exec for that.
Provide xAI credentials
Sign in with Grok OAuth using an eligible SuperGrok or X Premium subscription, use the remote-friendly device-code flow, or store an API key. OAuth works for
code_executionandx_search;XAI_API_KEYor plugin web-search config can also power Grokweb_search.Terminal window openclaw models auth login --provider xai --method oauthopenclaw models auth login --provider xai --device-codeDuring a fresh install, the same auth choices are available inside onboarding:
Terminal window openclaw onboard --install-daemonopenclaw onboard --install-daemon --auth-choice xai-device-codeOr use an API key:
Terminal window openclaw models auth login --provider xai --method api-keyexport XAI_API_KEY=xai-...Or via config:
{plugins: {entries: {xai: {config: {webSearch: {apiKey: "xai-...",},},},},},}Enable and tune code_execution
code_executionis available when xAI credentials are available. Setplugins.entries.xai.config.codeExecution.enabledtofalseto disable it, or use the same block to tune the model and timeout.{plugins: {entries: {xai: {config: {codeExecution: {enabled: true,model: "grok-4-1-fast", // override the default xAI code-execution modelmaxTurns: 2, // optional cap on internal tool turnstimeoutSeconds: 30, // request timeout (default: 30)},},},},},}Restart the Gateway
Terminal window openclaw gateway restartcode_executionshows up in the agent’s tool list once the xAI plugin re-registers withenabled: true.
How to use it
Section titled “How to use it”Ask naturally and make the analysis intent explicit:
Use code_execution to calculate the 7-day moving average for these numbers: ...Use x_search to find posts mentioning OpenClaw this week, then use code_execution to count them by day.Use web_search to gather the latest AI benchmark numbers, then use code_execution to compare percent changes.The tool takes a single task parameter internally, so the agent should send the full analysis request and any inline data in one prompt.
Errors
Section titled “Errors”When the tool runs without auth, it returns a structured missing_xai_api_key error pointing at the auth-profile, env var, and config options. The error is JSON, not a thrown exception, so the agent can self-correct:
{ "error": "missing_xai_api_key", "message": "code_execution needs xAI credentials. Run `openclaw onboard --auth-choice xai-oauth` to sign in with Grok, run `openclaw onboard --auth-choice xai-api-key`, set `XAI_API_KEY` in the Gateway environment, or configure `plugins.entries.xai.config.webSearch.apiKey`.", "docs": "https://docs.openclaw.ai/tools/code-execution"}Limits
Section titled “Limits”- This is remote xAI execution, not local process execution.
- Treat results as ephemeral analysis, not a persistent notebook session.
- Do not assume access to local files or your workspace.
- For fresh X data, use
x_searchfirst and pipe the result intocode_execution.
Related
Section titled “Related”Local shell execution on your machine or paired node.
Allow/deny policy for shell execution.
web_search, x_search, and web_fetch.
Grok models, web/x search, and code execution config.