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
| Argument | Type | Description |
|---|---|---|
HANGAR | string | Hangar name or id. Required. |
Output
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | Immutable and lower case. Unique in the team among Hangars and applications together. |
displayName | string | null | The name as it was typed at creation. |
status | string | Effective 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. |
paused | bool | |
agents | array | The coding agents installed, by id. Empty for a terminal-only Hangar. |
size | string | Instance type code, e.g. op-46. Set by the platform. |
diskGb | int | The disk's size in GB. Set by the platform. |
idleTimeoutMinutes | int | null | How 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. |
ports | array | The 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. |
repository | string | null | Owner/name on GitHub, cloned into ~/<name> on its first start. null for none. Set at creation and never changed. |
branch | string | null | The branch cloned. null without a repository. |
publicSource | bool | The repository is read without a GitHub installation. |
createdAt | string | null | RFC 3339, UTC. |
Examples
Show one Hangar
outplane hangar get myhangarRead 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 acmeWhat to Know
- Returns one object, not a list.
hangar listreturns {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 connectcan 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:
| Exit | Kind | Meaning |
|---|---|---|
2 | usage | Invalid arguments, unknown flag, or client-side validation failure. |
3 | auth | Not authenticated, token revoked or expired, or forbidden for this team. |
5 | not_found | The named resource does not exist, or is not visible to this credential. |
8 | upstream | The 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.