Out Plane
hangar

hangar get

Show one Hangar in detail.

read onlyrepeatable

One Hangar in a single object: whether it is running, which agents it has, its size and its disk.

This is the command to poll after hangar create, which returns while the Hangar is still starting. Once status reads ready, hangar connect can join it. Environment variables are the one thing it will not show, in any format. env list --hangar lists them.

Usage

outplane hangar get <HANGAR>

Arguments

ArgumentTypeDescription
HANGARstringHangar name or id. Required.

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

Show one Hangar

outplane hangar get myhangar

Read whether it is running, and what is installed

outplane hangar get myhangar --json --fields status,agents
{
  "agents": [
    "codex",
    "claude-code"
  ],
  "status": "ready"
}

Show one in another team

outplane hangar get myhangar --team acme

What to Know

  • Returns one object, not a list. hangar list returns {items, total, truncated}; this returns the fields directly.
  • A name is resolved by listing the team's Hangars, and the list carries every field, so this costs one request.
  • status ready means the Hangar is running and hangar connect can join its session. While it is not, connect is refused with exit 6 and hangar.not_running.
  • Environment variables are never included, in any format, and no flag adds them.

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.
5not_foundThe named resource does not exist, or is not visible to this credential.
8upstreamThe Out Plane API returned a server error.

The code on the error object is one of hangar.not_found, hangar.ambiguous, usage.missing_argument, usage.empty_argument, context.no_team. Branch on that, or on the exit status. The message is prose and changes.

On this page