Out Plane
hangar

hangar list

List the Hangars in a team.

read onlyrepeatable

The Hangars in a team, with whether each one is running and which agents it has.

Hangars are not applications, so app list never shows them and this never shows an application. The names are shared all the same, which is why a name can be taken without appearing here.

Usage

outplane hangar list

Output

FieldTypeDescription
idstring
namestringImmutable and lower case. Unique in the team among Hangars and applications together.
displayNamestring | nullThe name as it was typed at creation.
statusstringEffective state, read as app list reads an application's: paused outranks the rest. deploying while it starts, ready once it runs, failed when it could not start, crashed when it stopped unexpectedly and is restarting, or unknown:N. The field to branch on.
pausedbool
agentsarrayThe coding agents installed, by id. Empty for a terminal-only Hangar.
sizestringInstance type code, e.g. op-46. Set by the platform.
diskGbintThe disk's size in GB. Set by the platform.
idleTimeoutMinutesint | nullHow long it may sit idle before it pauses, in minutes: 15, 30, 60, 120, 360, 720 or 1440. null for never. Changed with hangar update.
portsarrayThe ports open for its dev servers, lowest first: {port, scheme, public, url, internal}. url is null on a private port; internal is name:port, where the team's applications reach it.
repositorystring | nullOwner/name on GitHub, cloned into ~/<name> on its first start. null for none. Set at creation and never changed.
branchstring | nullThe branch cloned. null without a repository.
publicSourceboolThe repository is read without a GitHub installation.
createdAtstring | nullRFC 3339, UTC.

Examples

List the Hangars in the current team

outplane hangar list

List as JSON and pick out the names

outplane hangar list --json --fields name,status
{
  "items": [
    {
      "name": "myhangar",
      "status": "ready"
    },
    {
      "name": "reviewbox",
      "status": "deploying"
    }
  ],
  "total": 2,
  "truncated": false
}

List the Hangars in a specific team

outplane hangar list --team acme

What to Know

  • The API returns every Hangar in one response. There is no pagination, so total is the complete count and truncated is always false.
  • Hangars are not applications, and app list does not include them. The two share one set of names all the same: a name either one holds is taken for both.
  • status is read as an application's: paused outranks the rest. A new Hangar reports deploying while it starts and ready once it runs.
  • An unrecognised state decodes to "unknown:N", carrying the number the server sent. Treat it as unknown rather than as a failure.
  • Environment variables are never included, in any format.

Errors

Beyond 0 for success, this command exits with:

ExitKindMeaning
2usageInvalid arguments, unknown flag, or client-side validation failure.
3authNot authenticated, token revoked or expired, or forbidden for this team.
8upstreamThe Out Plane API returned a server error.

The code on the error object is one of context.no_team, auth.token_invalid. Branch on that, or on the exit status. The message is prose and changes.

On this page