---
title: "Asynchronously execute a command via the Devbox shell"
method: POST
path: "/v1/devboxes/{id}/execute_async"
tags: ["Devbox", "Devbox-ShellTools"]
---

# Asynchronously execute a command via the Devbox shell

`POST /v1/devboxes/{id}/execute_async`

Execute the given command in the Devbox shell asynchronously and returns the execution that can be used to track the command's progress.

## Path parameters

- `id` string, required

## Request body

- DevboxCreateExecutionParameters
  - `command` string, required — The command to execute via the Devbox shell. By default, commands are run from the user home directory unless shell_name is specified. If shell_name is specified the command is run from the directory based on the recent state of the persistent shell.
  - `shell_name` string, nullable — The name of the persistent shell to create or use if already created. When using a persistent shell, the command will run from the directory at the end of the previous command and environment variables will be preserved.
  - `attach_stdin` boolean, nullable — Whether to attach stdin streaming for async commands. Not valid for execute_sync endpoint. Defaults to false if not specified.

## Response `200`

OK

- DevboxAsyncExecutionDetailView
  - `devbox_id` string, required — Devbox id where command was executed.
  - `execution_id` string, required — Ephemeral id of the execution in progress.
  - `status` 'queued' | 'running' | 'completed', required
  - `shell_name` string, nullable — Shell name.
  - `stdout` string, nullable — Standard out generated by command. This field will remain unset until the execution has completed.
  - `stderr` string, nullable — Standard error generated by command. This field will remain unset until the execution has completed.
  - `exit_status` integer, nullable — Exit code of command execution. This field will remain unset until the execution has completed.
  - `stdout_truncated` boolean, nullable — Indicates whether the stdout was truncated due to size limits.
  - `stderr_truncated` boolean, nullable — Indicates whether the stderr was truncated due to size limits.

## Other responses

- `404` — Devbox not found.

---

[API](https://skmtc.net/runloopai/apis/runloop-api.md) · [All operations](https://skmtc.net/runloopai/apis/runloop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/runloopai/runloop-api/versions/ef553a04de89/schema)
