Skip to content

List projects

GET
/api/v1/projects

Returns all configured projects enriched with live container state, Claude status, worktree counts, and cost data.

OK

Array<object>
object
activeWorktreeCount

ActiveWorktreeCount is the number of worktrees with connected terminals.

integer
agentStatus

AgentStatus is the agent activity state (“idle”, “working”, “unknown”).

string
agentType

AgentType identifies the CLI agent running in this project (e.g. “claude-code”, “codex”).

string
Allowed values: claude-code codex claude-code
agentVersion

AgentVersion is the pinned CLI version installed in this container.

string
allowedDomains

AllowedDomains lists domains accessible when NetworkMode is “restricted”.

Array<string>
cloneURL

CloneURL is the git repository URL to clone (remote projects only).

string
costBudget

CostBudget is the per-project cost limit in USD (0 = use global default).

number
createdAt
integer
forwardedPorts

ForwardedPorts lists container ports exposed via the reverse proxy.

Array<integer>
hasContainer

HasContainer is true when a Docker container is associated with this project.

boolean
hostPath

HostPath is the absolute host directory mounted into the container (local projects only).

string
id

ID is the Docker container ID (empty when no container exists).

string
image
string
isEstimatedCost

IsEstimatedCost is true when the cost is an estimate (e.g. subscription users).

boolean
isGitRepo

IsGitRepo indicates whether the container’s /project is a git repository.

boolean
mountedDir

MountedDir is the host directory mounted into the container.

string
name

Name is the user-chosen display label / Docker container name.

string
needsInput

NeedsInput is true when any worktree requires user attention.

boolean
networkMode

NetworkMode controls the container’s network isolation level.

string
Allowed values: full restricted none
notificationType

NotificationType indicates why the agent needs attention (e.g. “permission_prompt”, “idle_prompt”, “elicitation_dialog”).

string
os
string
projectId

ProjectID is the deterministic project identifier (sha256 of host path or clone URL, 12 hex chars).

string
skipPermissions

SkipPermissions indicates whether terminals should skip permission prompts.

boolean
source

Source indicates whether the project is local (host mount) or remote (git clone).

string
Allowed values: local remote
sshPort
string
state

State is the Docker container state (“running”, “exited”, “not-found”, etc).

string
status

Status is the Docker container status string (e.g. “Up 2 hours”).

string
temporary

Temporary is true when a remote project’s workspace is ephemeral (lost on container recreate).

boolean
totalCost

TotalCost is the aggregate cost across all worktrees in USD.

number
type
string
workspaceDir

WorkspaceDir is the container-side workspace directory (mount destination).

string

Internal Server Error

object
code
string
Allowed values: INVALID_BODY INVALID_CONTAINER_ID INVALID_CONTAINER_NAME INVALID_WORKTREE_ID INVALID_WORKTREE_NAME REQUIRED_FIELD INVALID_PATH INVALID_NETWORK_CONFIG NOT_A_DIRECTORY NOT_FOUND NAME_TAKEN NOT_CONFIGURED STALE_MOUNTS BUDGET_EXCEEDED PROXY_ERROR INTERNAL
error
string