---
title: "Run a shell command on the computer"
method: POST
path: "/api/computers/{id}/bash"
tags: ["control"]
---

# Run a shell command on the computer

`POST /api/computers/{id}/bash`

## Request

- Base URL: `https://www.orgo.ai`
- URL: `https://www.orgo.ai/api/computers/{id}/bash`
- Auth: HTTP bearer

Runs command in the computer’s shell and answers when it ends. timeout is in seconds (1 to 300, default 200). ?screen= runs it with that screen’s DISPLAY. A computer asleep is woken first.

## Path parameters

- `id` string, required

## Query parameters

- `screen` string

## Request body

- object
  - `command` string, required
  - `timeout` integer

## Response `200`

What the command printed.

- object
  - `output` string
  - `success` boolean
  - `exit_code` integer
  - `command` string

## Other responses

- `400`: command missing or empty, the body not a JSON object, or the computer has no VM.
- `404`: No such computer (with a hint: ids change only when a computer is made again).
- `429`: Over one of the account's rate limits (rate_limited): `limit` names it, `retry_after` and Retry-After say how many seconds to wait. Limits are per account (the workspace owner when the request acts on a computer or a workspace) and set by its plan (x-rate-limits).

## Changes

- **2026-11-01** `60e768a2bb9d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/orgo/apis/orgo-api/changes/api/computers/:id/bash/post.md)

---

[API](https://skmtc.dev/orgo/apis/orgo-api.md) - [All operations](https://skmtc.dev/orgo/apis/orgo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/orgo/apis/orgo-api/revisions/e4c1e7379fa5?raw)
