Skip to content

Command Map

This document contains the help content for the edgeplane command-line program.

Command Overview:

EdgePlane — fleet control-plane CLI

Usage: edgeplane [OPTIONS] <COMMAND>

  • status — Show quick local/runtime/auth context for the current shell
  • doctor — Shortcut for edgeplane system doctor
  • health — Lightweight backend readiness check
  • version — Show binary + backend version details
  • config — Show effective runtime config (redacted)
  • use — Convenience context/profile switcher
  • release — Release the currently attached workspace lease
  • logs — Tail local Edgeplane logs
  • completion — Generate shell completion scripts
  • artifact — Artifact retrieval and mutation helpers
  • auth — Authentication and identity helpers
  • data — Data/catalog/read workflows (tools, sync, explorer)
  • system — Platform diagnostics and release-control workflows
  • agent — Agent control workflows (remote, swarm/subagent workflows)
  • runtime — Runtime fabric workflows (nodes, jobs, leases)
  • workspace — Workspace lifecycle helpers (load/heartbeat/artifact/commit/release)
  • ops — Domain operations (lifecycle orchestration and execution workflows)
  • update — Self-update helper for the edgeplane binary
  • init — Initialize EdgePlane profile state for first-time usage
  • serve — Start an MCP server (stdio JSON-RPC 2.0) for LLM runtime connections
  • channel — Claude channel server integrations
  • profile — Manage Edgeplane user profiles
  • secrets — Secrets provider + reference helpers
  • daemon — edgeplaned daemon control and work-model commands
  • run — Launch and manage an agent runtime: claude, codex, gemini, openclaw, custom
  • capabilities — List and describe capability packs available through edgeplaned
  • exec — Execute a capability
  • receipts — Inspect capability execution receipts stored in the local SQLite audit log
  • mesh-sync — Bidirectional git-backed config sync for this node
  • tui — Launch the terminal UI (ratatui) for fleet monitoring and management
  • context — Manage named controlplane connection contexts
  • domain — Domain attachment and home-domain management for this agent
  • mission — Mission (workstream) CRUD — create, list, show, update, delete
  • task — Task CRUD — create, list, show, update, delete
  • discover — Emit the CLI surface as a versioned JSON schema contract; drill into a subtree with [path…]
  • --base-url <BASE_URL> — Base URL pointing at an existing Edgeplane deployment

  • --agent-id <AGENT_ID> — Optional agent identifier propagated throughout sync calls

  • --runtime-session-id <RUNTIME_SESSION_ID> — Optional runtime session identifier propagated for per-instance attribution

  • --profile-name <PROFILE_NAME> — Optional profile name propagated for per-profile attribution

  • --timeout-secs <TIMEOUT_SECS> — Timeout (in seconds) for all outbound calls

    Default value: 10

  • --allow-insecure — Allow invalid TLS certificates when running against local or self-signed endpoints

    Default value: false

  • --booster-wasm <BOOSTER_WASM> — Optional WASM booster module path

  • --disable-booster — Disable the booster hook even if a module is configured

    Default value: false

  • --allow-booster-short-circuit — Allow booster modules to short-circuit MCP tool execution

    Default value: false

  • --json — Emit machine-readable JSON output

    Default value: false

Show quick local/runtime/auth context for the current shell

Usage: edgeplane status [OPTIONS]

  • --verify-lease — Validate active lease by sending a heartbeat call

    Default value: false

Shortcut for edgeplane system doctor

Usage: edgeplane doctor [OPTIONS]

  • --fix

    Default value: false

  • --cleanup — Also cleanup local profile/session artifacts after checks

    Default value: false

  • --cleanup-keep-instances <CLEANUP_KEEP_INSTANCES> — When —cleanup is set, keep at most this many runtime instance dirs

    Default value: 8

  • --cleanup-keep-bundles <CLEANUP_KEEP_BUNDLES> — When —cleanup is set, keep at most this many bundle tar files per profile

    Default value: 6

  • --cleanup-max-age-days <CLEANUP_MAX_AGE_DAYS> — When —cleanup is set, remove instance dirs older than this many days

    Default value: 7

Lightweight backend readiness check

Usage: edgeplane health

Show binary + backend version details

Usage: edgeplane version

Show effective runtime config (redacted)

Usage: edgeplane config

Convenience context/profile switcher

Usage: edgeplane use [OPTIONS]

  • --profile <PROFILE>

  • --mission-id <MISSION_ID>

  • --lease-seconds <LEASE_SECONDS>

    Default value: 900

  • --workspace-label <WORKSPACE_LABEL>

  • --auto-release — Auto-release existing lease when switching missions

    Default value: false

  • -y, --yes — Non-interactive confirmation for releasing/switching

    Default value: false

  • --release — Release currently attached lease instead of attaching a mission

    Default value: false

Release the currently attached workspace lease

Usage: edgeplane release [OPTIONS]

  • --reason <REASON> — Optional reason recorded in lease release metadata

  • --ignore-missing — Succeed even when no active lease is tracked

    Default value: false

Tail local Edgeplane logs

Usage: edgeplane logs [OPTIONS]

  • --lines <LINES>

    Default value: 120

Generate shell completion scripts

Usage: edgeplane completion <SHELL>

  • <SHELL>

    Possible values: bash, elvish, fish, powershell, zsh

Artifact retrieval and mutation helpers

Usage: edgeplane artifact <COMMAND>

  • inspect — Show artifact metadata
  • view — Retrieve artifact bytes for validation/view
  • edit — Edit a text artifact in your local editor, then save back
  • replace — Replace artifact bytes from a local file

Show artifact metadata

Usage: edgeplane artifact inspect --id <ID>

  • --id <ID>

Retrieve artifact bytes for validation/view

Usage: edgeplane artifact view [OPTIONS] --id <ID>

  • --id <ID>
  • --lease-id <LEASE_ID> — Optional active lease for workspace-scoped retrieval
  • --out <OUT> — Write bytes to local path instead of printing text

Edit a text artifact in your local editor, then save back

Usage: edgeplane artifact edit [OPTIONS] --id <ID>

  • --id <ID>

  • --lease-id <LEASE_ID> — Optional active lease for workspace-scoped authorization check

  • --mime <MIME>

  • -y, --yes — Confirm cross-mission mutation without explicit —lease-id

    Default value: false

Replace artifact bytes from a local file

Usage: edgeplane artifact replace [OPTIONS] --id <ID> --from-file <FROM_FILE>

  • --id <ID>

  • --from-file <FROM_FILE>

  • --lease-id <LEASE_ID> — Optional active lease for workspace-scoped mutation

  • --mime <MIME>

  • -y, --yes — Confirm cross-mission mutation without explicit —lease-id

    Default value: false

Authentication and identity helpers

Usage: edgeplane auth <COMMAND>

  • login — Authenticate and create a session token stored at ~/.edgeplane/session.json
  • logout — Revoke the current session token and clear local credentials
  • whoami — Show the current authenticated identity

Authenticate and create a session token stored at ~/.edgeplane/session.json

Usage: edgeplane auth login [OPTIONS]

  • --ttl-hours <TTL_HOURS> — Session TTL in hours. When omitted, falls back to the default_session_ttl_hours config value, then to the built-in default of 8760 (365 days). Max: 87600 (10 years)
  • --print-token — Print the session token to stdout after login (useful in scripts)
  • --non-interactive — Skip prompts: use EP_AGENT_TOKEN env var directly (non-interactive)
  • --with-token — Use API token auth instead of OIDC (prompts for token interactively)

Revoke the current session token and clear local credentials

Usage: edgeplane auth logout [OPTIONS]

  • --local-only — Only clear the local session file; do not call the revoke endpoint

Show the current authenticated identity

Usage: edgeplane auth whoami

Data/catalog/read workflows (tools, sync, explorer)

Usage: edgeplane data <COMMAND>

  • tools — Inspect and invoke Edgeplane MCP tools
  • explorer — Explore domains, missions, and tasks via the explorer endpoints

Inspect and invoke Edgeplane MCP tools

Usage: edgeplane data tools <COMMAND>

  • list — List all registered MCP tools
  • call — Call an MCP tool with JSON payload and show the response

List all registered MCP tools

Usage: edgeplane data tools list

Call an MCP tool with JSON payload and show the response

Usage: edgeplane data tools call [OPTIONS] --tool <TOOL>

  • -t, --tool <TOOL> — Name of the MCP tool to call (e.g. edgeplane.mission.load)

  • --payload <PAYLOAD> — JSON payload to send as MCP tool args. Defaults to empty object

    Default value: {}

Explore domains, missions, and tasks via the explorer endpoints

Usage: edgeplane data explorer <COMMAND>

  • tree — Dump the tree-view of domains, missions, and recent tasks
  • node — Inspect a single domain/mission/task node

Dump the tree-view of domains, missions, and recent tasks

Usage: edgeplane data explorer tree [OPTIONS]

  • --domain-id <DOMAIN_ID>
  • --status <STATUS>
  • --q <Q>
  • --limit-tasks-per-cluster <LIMIT_TASKS_PER_CLUSTER>
  • --limit-missions <LIMIT_MISSIONS>

Inspect a single domain/mission/task node

Usage: edgeplane data explorer node --node-type <NODE_TYPE> --node-id <NODE_ID>

  • --node-type <NODE_TYPE>

    Possible values: domain, mission, task

  • --node-id <NODE_ID>

Platform diagnostics and release-control workflows

Usage: edgeplane system <COMMAND>

  • doctor — Diagnostics + auto-fix helpers
  • backup — Trigger local backups (postgres, rustfs, or both)
  • profile-gc — Cleanup local profile/session artifacts with retention limits
  • update — Self-update helper for the edgeplane binary
  • compat — Compatibility matrix commands and reports for provider/version drift control
  • drift — Drift ingestion + policy decision helpers for staged release gates

Diagnostics + auto-fix helpers

Usage: edgeplane system doctor [OPTIONS]

  • --fix

    Default value: false

  • --cleanup — Also cleanup local profile/session artifacts after checks

    Default value: false

  • --cleanup-keep-instances <CLEANUP_KEEP_INSTANCES> — When —cleanup is set, keep at most this many runtime instance dirs

    Default value: 8

  • --cleanup-keep-bundles <CLEANUP_KEEP_BUNDLES> — When —cleanup is set, keep at most this many bundle tar files per profile

    Default value: 6

  • --cleanup-max-age-days <CLEANUP_MAX_AGE_DAYS> — When —cleanup is set, remove instance dirs older than this many days

    Default value: 7

Trigger local backups (postgres, rustfs, or both)

Usage: edgeplane system backup [OPTIONS]

  • --target <TARGET>

    Default value: all

    Possible values: postgres, rustfs, all

  • --reason <REASON>

Cleanup local profile/session artifacts with retention limits

Usage: edgeplane system profile-gc [OPTIONS]

  • --keep-instances <KEEP_INSTANCES> — Keep at most this many runtime instance dirs (newest first)

    Default value: 20

  • --keep-bundles <KEEP_BUNDLES> — Keep at most this many bundle tar files per profile (newest first)

    Default value: 10

  • --max-age-days <MAX_AGE_DAYS> — Remove instance dirs older than this many days regardless of count

    Default value: 14

Self-update helper for the edgeplane binary

Usage: edgeplane system update <COMMAND>

  • self-update — Update edgeplane by downloading the latest release artifact

Update edgeplane by downloading the latest release artifact

Usage: edgeplane system update self-update [OPTIONS]

  • --manifest-url <MANIFEST_URL> — Manifest URL describing available releases

    Default value: https://github.com/RyanMerlin/edgeplane/releases/latest/download/latest.json

  • --skip-verify — Skip checksum verification

Compatibility matrix commands and reports for provider/version drift control

Usage: edgeplane system compat <COMMAND>

  • matrix — Run compatibility checks for configured providers and emit a report artifact

Run compatibility checks for configured providers and emit a report artifact

Usage: edgeplane system compat matrix <COMMAND>

  • run — Execute compatibility checks and write a report
  • report-latest — Print the latest compatibility report

Execute compatibility checks and write a report

Usage: edgeplane system compat matrix run [OPTIONS]

  • --providers <PROVIDERS> — Providers to test. Comma-delimited values, e.g. claude,codex

    Default value: claude,codex

  • --mode <MODE> — Test depth profile

    Default value: smoke

    Possible values: smoke, full

  • --out <OUT> — Optional explicit output path for the report JSON

edgeplane system compat matrix report-latest

Section titled “edgeplane system compat matrix report-latest”

Print the latest compatibility report

Usage: edgeplane system compat matrix report-latest

Drift ingestion + policy decision helpers for staged release gates

Usage: edgeplane system drift <COMMAND>

  • ingest — Ingest a provider change signal and persist a capability delta artifact
  • triage — Produce a policy decision from latest compatibility and drift artifacts

Ingest a provider change signal and persist a capability delta artifact

Usage: edgeplane system drift ingest [OPTIONS] --provider <PROVIDER> --version <VERSION> --source-url <SOURCE_URL> --summary <SUMMARY>

  • --provider <PROVIDER> — Provider identifier (e.g. claude, codex)

  • --version <VERSION> — Version label seen in docs/release notes

  • --source-url <SOURCE_URL> — Source URL where change was observed

  • --summary <SUMMARY> — Human summary of the observed drift/change

  • --severity <SEVERITY> — Drift severity classification

    Default value: degraded

    Possible values: compatible, degraded, breaking

Produce a policy decision from latest compatibility and drift artifacts

Usage: edgeplane system drift triage [OPTIONS]

  • --domain <DOMAIN> — Optional domain id for bookkeeping
  • --provider <PROVIDER> — Optional provider filter

Agent control workflows (remote, swarm/subagent workflows)

Usage: edgeplane agent <COMMAND>

  • signal — Send a prompt to an agent (auto-resolves local vs controlplane)
  • cancel — Interrupt an in-flight agent (auto-resolves local vs controlplane)
  • list — List visible agents — local (edgeplaned-supervised) and/or remote (controlplane)
  • describe — Describe a single agent — auto-resolves local vs controlplane
  • node — Resident node-agent control verbs
  • attach — Attach to a persistent ACP session — stream session/update frames to stdout, forward stdin lines as session/prompt
  • cron — Cron jobs scheduled by edgeplaned (Phase 4 daemon-absorption)
  • supervise — systemd-unit liveness supervision (Phase 5 daemon-absorption)
  • register — Register a new agent with the controlplane
  • set-status — Update a controlplane agent’s status (online/offline/busy)
  • delete — Delete an agent from the controlplane (sends DELETE /agents/{id})

Send a prompt to an agent (auto-resolves local vs controlplane)

Usage: edgeplane agent signal [OPTIONS] --content <CONTENT> <AGENT_ID>

  • <AGENT_ID> — Agent id. For local agents this is the profile name (e.g. work); for controlplane agents it’s the public_id
  • --content <CONTENT> — Prompt text to inject. Multi-line is fine; quote it
  • --local — Force the local mgmt-gateway path; skip the controlplane fallback
  • --remote — Force the controlplane path; skip the local lookup

Interrupt an in-flight agent (auto-resolves local vs controlplane)

Usage: edgeplane agent cancel [OPTIONS] <AGENT_ID>

  • <AGENT_ID>
  • --local
  • --remote

List visible agents — local (edgeplaned-supervised) and/or remote (controlplane)

Usage: edgeplane agent list [OPTIONS]

  • --source <SOURCE> — Which source to list. Default: all (both local + controlplane)

    Default value: all

    Possible values: local, remote, all

  • --json — Emit raw JSON instead of the table view

Describe a single agent — auto-resolves local vs controlplane

Usage: edgeplane agent describe [OPTIONS] <AGENT_ID>

  • <AGENT_ID>
  • --local
  • --remote
  • --json

Resident node-agent control verbs

Usage: edgeplane agent node <COMMAND>

  • register — Register a node with Edgeplane and persist its identity locally
  • run — [removed] The node daemon is now edgeplaned — use edgeplaned run
  • doctor — Inspect local node-agent readiness
  • join-token — Manage node join tokens (single-use bootstrap credentials)
  • delete — Delete a runtime node from the controlplane
  • ls — List runtime nodes visible to the current principal

Register a node with Edgeplane and persist its identity locally

Usage: edgeplane agent node register [OPTIONS] --hostname <HOSTNAME>

  • --hostname <HOSTNAME>

  • --trust-tier <TRUST_TIER>

    Default value: untrusted

[removed] The node daemon is now edgeplaned — use edgeplaned run

Usage: edgeplane agent node run [OPTIONS]

  • --poll-seconds <POLL_SECONDS>

    Default value: 30

  • --heartbeat-seconds <HEARTBEAT_SECONDS>

    Default value: 15

  • --node-name <NODE_NAME>

    Default value: node

  • --hostname <HOSTNAME>

    Default value: “

  • --trust-tier <TRUST_TIER>

    Default value: untrusted

  • --capabilities <CAPABILITIES>

    Default value: container,host_process

  • --labels <LABELS>

    Default value: “

Inspect local node-agent readiness

Usage: edgeplane agent node doctor [OPTIONS]

  • --node-name <NODE_NAME>

    Default value: node

Manage node join tokens (single-use bootstrap credentials)

Usage: edgeplane agent node join-token <COMMAND>

  • create — Create a new join token for bootstrapping a node
  • get — Get a join token by ID
  • rotate — Rotate a join token (invalidates the old one, issues a new secret)

Create a new join token for bootstrapping a node

Usage: edgeplane agent node join-token create [OPTIONS]

  • --ttl-seconds <TTL_SECONDS> — Token TTL in seconds (default: 600 — 10 minutes)

    Default value: 600

Get a join token by ID

Usage: edgeplane agent node join-token get <TOKEN_ID>

  • <TOKEN_ID> — Join token ID (returned by create)

Rotate a join token (invalidates the old one, issues a new secret)

Usage: edgeplane agent node join-token rotate <TOKEN_ID>

  • <TOKEN_ID> — Join token ID (returned by create)

Delete a runtime node from the controlplane

Usage: edgeplane agent node delete [OPTIONS] <NODE_ID>

  • <NODE_ID> — Node ID to delete
  • --force — Detach assigned agents before deleting. Without this flag the request is refused with an error if any meshagent rows are assigned to the node

    Default value: false

List runtime nodes visible to the current principal

Usage: edgeplane agent node ls [OPTIONS]

  • --status <STATUS> — Filter by node status (e.g. online, offline, registered)

Attach to a persistent ACP session — stream session/update frames to stdout, forward stdin lines as session/prompt

Usage: edgeplane agent attach [OPTIONS] <AGENT_ID>

  • <AGENT_ID> — Agent id. For local ZellijHosted agents this is the profile name (e.g. work); for controlplane ACP agents it’s the public_id (e.g. my-agent-operator-e8820c0d)
  • --json — Stream raw SessionNotification JSON, one frame per line. Default is a human-readable rendering of assistant turns, tool calls, etc. Only meaningful for ACP attach; ignored for ZellijHosted

  • --node-id <NODE_ID> — Override node id when the agent registry doesn’t know which node hosts this agent (rare; mostly useful during early bringup before linkage is fully populated). Only meaningful for ACP attach

  • --web — For ZellijHosted agents only: instead of exec’ing zellij attach, print the zellij web URL (http://<base>/<session>). Useful for embedding in a browser or sharing the link

  • --web-base-url <WEB_BASE_URL> — Base URL for zellij web when —web is set. Defaults to the local zellij web listener at http://127.0.0.1:8082

    Default value: http://127.0.0.1:8082

  • --remote — Force the controlplane ACP attach path; skip the local lookup. Useful when an agent ID happens to collide between local and controlplane and you know you want the controlplane one

Cron jobs scheduled by edgeplaned (Phase 4 daemon-absorption)

Usage: edgeplane agent cron <COMMAND>

  • list — List all cron jobs from ~/.ep/edgeplaned/cron.toml + their runtime state
  • describe — Describe one cron job: schedule, last fire, recent history
  • reload — Re-parse cron.toml (edgeplaned reloads on its next tick)
  • history — Recent fires across all (or one) job
  • gc-now — Force a retention sweep on agent_cron_fire_log now

List all cron jobs from ~/.ep/edgeplaned/cron.toml + their runtime state

Usage: edgeplane agent cron list [OPTIONS]

  • --json

Describe one cron job: schedule, last fire, recent history

Usage: edgeplane agent cron describe [OPTIONS] <NAME>

  • <NAME> — Job name as it appears in cron.toml
  • --limit <LIMIT> — How many recent fires to include in the output

    Default value: 5

  • --json

Re-parse cron.toml (edgeplaned reloads on its next tick)

Usage: edgeplane agent cron reload

Recent fires across all (or one) job

Usage: edgeplane agent cron history [OPTIONS]

  • --name <NAME> — Filter to one job; default shows fires across all jobs

  • -n, --limit <LIMIT> — Maximum number of fires to show. Default 20

    Default value: 20

  • --json

Force a retention sweep on agent_cron_fire_log now

Usage: edgeplane agent cron gc-now [OPTIONS]

  • --history-days <HISTORY_DAYS> — Override cron.toml’s [retention] history_days for this sweep only
  • --max-rows-per-job <MAX_ROWS_PER_JOB> — Override cron.toml’s [retention] max_rows_per_job for this sweep only

systemd-unit liveness supervision (Phase 5 daemon-absorption)

Usage: edgeplane agent supervise <COMMAND>

  • list — List supervised agents and their current unit state
  • status — One agent’s launch context + recent restart history
  • restart — Manual systemctl --user restart <agent> (logged as reason=manual)
  • pause — Pause the auto-restart loop for an agent (or all)
  • resume — Resume the auto-restart loop
  • history — Recent restart events across all (or one) agent
  • events — Stream live SupervisorEvents from edgeplaned (Ctrl-C to exit)
  • watch — Live fleet dashboard: agent table + event tail (TUI, q to quit)

List supervised agents and their current unit state

Usage: edgeplane agent supervise list [OPTIONS]

  • --json

One agent’s launch context + recent restart history

Usage: edgeplane agent supervise status [OPTIONS] <AGENT_ID>

  • <AGENT_ID> — Agent id (e.g. “work”, “operator”, or the full agent_id)
  • --limit <LIMIT> — How many recent restart events to show. Default 5

    Default value: 5

  • --json

Manual systemctl --user restart <agent> (logged as reason=manual)

Usage: edgeplane agent supervise restart <AGENT_ID>

  • <AGENT_ID> — Agent id to restart. Logged as reason=“manual”

Pause the auto-restart loop for an agent (or all)

Usage: edgeplane agent supervise pause [OPTIONS] [AGENT_ID]

  • <AGENT_ID> — Agent id to pause/resume. Mutually exclusive with —all
  • --all — Apply to every supervised agent on this node

Resume the auto-restart loop

Usage: edgeplane agent supervise resume [OPTIONS] [AGENT_ID]

  • <AGENT_ID> — Agent id to pause/resume. Mutually exclusive with —all
  • --all — Apply to every supervised agent on this node

Recent restart events across all (or one) agent

Usage: edgeplane agent supervise history [OPTIONS]

  • --agent-id <AGENT_ID> — Filter to one agent’s restart history. Default shows recent restarts across all supervised agents

  • -n, --limit <LIMIT> — Maximum entries to show. Default 20

    Default value: 20

  • --json

Stream live SupervisorEvents from edgeplaned (Ctrl-C to exit)

Usage: edgeplane agent supervise events [OPTIONS]

  • --json — Emit raw JSON event frames (one per line) instead of pretty-printed lines

Live fleet dashboard: agent table + event tail (TUI, q to quit)

Usage: edgeplane agent supervise watch [OPTIONS]

  • --poll-secs <POLL_SECS> — Snapshot poll interval in seconds. Default 5

    Default value: 5

  • --tail-size <TAIL_SIZE> — Maximum events to retain in the scrollback. Default 200

    Default value: 200

Register a new agent with the controlplane

Usage: edgeplane agent register [OPTIONS] --name <NAME>

  • --name <NAME> — Agent name (must be unique on the controlplane)

  • --capabilities <CAPABILITIES> — Comma-separated capability tags (e.g. fleet-management,code-editing)

    Default value: “

  • --metadata <METADATA> — Optional JSON metadata string (e.g. {"runtime":"claude-code","node_id":"node-0"})

  • --json — Emit raw JSON instead of a human-readable summary

Update a controlplane agent’s status (online/offline/busy)

Usage: edgeplane agent set-status [OPTIONS] --id <ID> --status <STATUS>

  • --id <ID> — Agent id or public_id on the controlplane
  • --status <STATUS> — New status value (e.g. online, offline, busy)
  • --json — Emit raw JSON instead of a human-readable summary

Delete an agent from the controlplane (sends DELETE /agents/{id})

Usage: edgeplane agent delete [OPTIONS] <AGENT_ID>

  • <AGENT_ID> — Agent public_id or numeric id to delete
  • -y, --yes — Skip the confirmation prompt
  • --json — Emit raw JSON instead of a human-readable summary

Runtime fabric workflows (nodes, jobs, leases)

Usage: edgeplane runtime <COMMAND>

  • nodes — Runtime node operations
  • jobs — Runtime job operations
  • leases — Runtime lease helpers
  • sessions — Runtime execution-session helpers

Runtime node operations

Usage: edgeplane runtime nodes <COMMAND>

  • register
  • list
  • heartbeat

Usage: edgeplane runtime nodes register [OPTIONS] --hostname <HOSTNAME>

  • --hostname <HOSTNAME>

  • --trust-tier <TRUST_TIER>

    Default value: untrusted

Usage: edgeplane runtime nodes list [OPTIONS]

  • --status <STATUS>

Usage: edgeplane runtime nodes heartbeat [OPTIONS] --node-id <NODE_ID>

  • --node-id <NODE_ID>

  • --status <STATUS>

    Default value: online

Runtime job operations

Usage: edgeplane runtime jobs <COMMAND>

  • submit
  • list

Usage: edgeplane runtime jobs submit [OPTIONS]

  • --domain-id <DOMAIN_ID>

    Default value: “

  • --runtime-session-id <RUNTIME_SESSION_ID>

    Default value: “

  • --runtime-class <RUNTIME_CLASS>

    Default value: container

  • --image <IMAGE>

    Default value: “

  • --command <COMMAND>

    Default value: “

Usage: edgeplane runtime jobs list [OPTIONS]

  • --status <STATUS>

Runtime lease helpers

Usage: edgeplane runtime leases <COMMAND>

  • create
  • status
  • complete

Usage: edgeplane runtime leases create --job-id <JOB_ID> --node-id <NODE_ID>

  • --job-id <JOB_ID>
  • --node-id <NODE_ID>

Usage: edgeplane runtime leases status --lease-id <LEASE_ID> --status <STATUS>

  • --lease-id <LEASE_ID>
  • --status <STATUS>

Usage: edgeplane runtime leases complete [OPTIONS] --lease-id <LEASE_ID>

  • --lease-id <LEASE_ID>

  • --exit-code <EXIT_CODE>

    Default value: 0

  • --error-message <ERROR_MESSAGE>

    Default value: “

Runtime execution-session helpers

Usage: edgeplane runtime sessions <COMMAND>

  • attach

Usage: edgeplane runtime sessions attach [OPTIONS] --session-id <SESSION_ID>

  • --session-id <SESSION_ID>

  • --raw

    Default value: false

Workspace lifecycle helpers (load/heartbeat/artifact/commit/release)

Usage: edgeplane workspace <COMMAND>

  • load — Load and lease a Mission workspace
  • heartbeat — Heartbeat an existing workspace lease
  • fetch-artifact — Fetch an artifact via the lease (download URL or inline content)
  • commit — Commit workspace changes with a JSON change_set
  • release — Release a lease with an optional reason

Load and lease a Mission workspace

Usage: edgeplane workspace load [OPTIONS] --mission-id <MISSION_ID>

  • --mission-id <MISSION_ID>

  • --workspace-label <WORKSPACE_LABEL>

  • --agent-id <AGENT_ID>

  • --lease-seconds <LEASE_SECONDS>

    Default value: 900

Heartbeat an existing workspace lease

Usage: edgeplane workspace heartbeat --lease-id <LEASE_ID>

  • --lease-id <LEASE_ID>

Fetch an artifact via the lease (download URL or inline content)

Usage: edgeplane workspace fetch-artifact [OPTIONS] --lease-id <LEASE_ID> --artifact-id <ARTIFACT_ID>

  • --lease-id <LEASE_ID>

  • --artifact-id <ARTIFACT_ID>

  • --mode <MODE>

    Default value: content

  • --expires-seconds <EXPIRES_SECONDS>

    Default value: 60

  • --out <OUT> — When mode=content, decode and write bytes to this local path

Commit workspace changes with a JSON change_set

Usage: edgeplane workspace commit [OPTIONS] --lease-id <LEASE_ID> --change-set <CHANGE_SET>

  • --lease-id <LEASE_ID>
  • --change-set <CHANGE_SET>
  • --validation-mode <VALIDATION_MODE>

Release a lease with an optional reason

Usage: edgeplane workspace release [OPTIONS] --lease-id <LEASE_ID>

  • --lease-id <LEASE_ID>
  • --reason <REASON>

Domain operations (lifecycle orchestration and execution workflows)

Usage: edgeplane ops <COMMAND>

  • domain — Domain-level lifecycle actions that build on workspace leases

Domain-level lifecycle actions that build on workspace leases

Usage: edgeplane ops domain [OPTIONS] --action <ACTION>

  • --action <ACTION> — Domain action to execute

    Possible values: start, heartbeat, commit, release

  • --mission-id <MISSION_ID> — Target mission (required for start)

  • --lease-id <LEASE_ID> — Lease ID to manage

  • --workspace-label <WORKSPACE_LABEL> — Optional workspace label created during start

  • --agent-id <AGENT_ID> — Optional agent identifier for the lease

  • --lease-seconds <LEASE_SECONDS> — Lease duration in seconds

  • --change-set <CHANGE_SET> — Change set JSON for commits

    Default value: {}

  • --validation-mode <VALIDATION_MODE> — Validation mode used when committing

  • --reason <REASON> — Optional release reason

Self-update helper for the edgeplane binary

Usage: edgeplane update [OPTIONS]

  • --manifest-url <MANIFEST_URL> — Manifest URL describing available releases

    Default value: https://github.com/RyanMerlin/edgeplane/releases/latest/download/latest.json

  • --skip-verify — Skip checksum verification

Initialize EdgePlane profile state for first-time usage

Usage: edgeplane init [OPTIONS]

  • --profile <PROFILE> — Initial profile name to create when none exists

    Default value: default

  • --repo <REPO> — Bootstrap this node from a sync repo URL (clones repo, stores INFISICAL_TOKEN, writes config)

Start an MCP server (stdio JSON-RPC 2.0) for LLM runtime connections

Usage: edgeplane serve [OPTIONS]

  • --tools-cache-ttl <TOOLS_CACHE_TTL> — Tools cache TTL in seconds (default: 60)

    Default value: 60

  • --preflight — Run a preflight health check before entering the message loop.

    Disabled by default because an stdio MCP server must respond to initialize immediately; blocking on a network call delays startup and causes agents (e.g. Codex) to time out waiting for the handshake. Enable only when invoking edgeplane serve outside an agent context.

  • --debug-protocol — Log MCP messages to stderr for debugging

Claude channel server integrations

Usage: edgeplane channel <COMMAND>

  • claude — Claude channel integrations

Claude channel integrations

Usage: edgeplane channel claude <COMMAND>

  • webhook — Expose a local webhook that forwards inbound messages to Claude via channel notifications

Expose a local webhook that forwards inbound messages to Claude via channel notifications

Usage: edgeplane channel claude webhook [OPTIONS]

  • --listen-host <LISTEN_HOST> — Host/interface for the local webhook listener

    Default value: 127.0.0.1

  • --listen-port <LISTEN_PORT> — Port for the local webhook listener

    Default value: 8788

  • --channel-name <CHANNEL_NAME> — Name used in channel metadata

    Default value: edgeplane

  • --instructions <INSTRUCTIONS> — Optional instructions to pass to Claude for this channel

  • --enable-reply — Expose a standard MCP reply tool

    Default value: false

  • --debug-protocol — Log protocol traffic to stderr

    Default value: false

Manage Edgeplane user profiles

Usage: edgeplane profile <COMMAND>

  • create — Create a new profile shell on Edgeplane (empty bundle)
  • list — List current user’s profiles
  • show — Show profile metadata by name
  • activate — Activate profile as default
  • download — Download profile bundle to a local file
  • publish — Publish/replace a profile bundle in Edgeplane
  • pull — Pull profile bundle from Edgeplane into local profile cache
  • pin — Pin a local profile to a specific remote sha256
  • delete — Delete a profile from Edgeplane (requires explicit confirmation flag)
  • status — Show remote/local pin status for a profile
  • use — Activate a profile as default and apply its bundle locally in one step

Create a new profile shell on Edgeplane (empty bundle)

Usage: edgeplane profile create [OPTIONS] --name <NAME>

  • --name <NAME>

  • --description <DESCRIPTION>

    Default value: “

  • --activate

List current user’s profiles

Usage: edgeplane profile list [OPTIONS]

  • --limit <LIMIT>

    Default value: 50

Show profile metadata by name

Usage: edgeplane profile show --name <NAME>

  • --name <NAME>

Activate profile as default

Usage: edgeplane profile activate --name <NAME>

  • --name <NAME>

Download profile bundle to a local file

Usage: edgeplane profile download [OPTIONS] --name <NAME>

  • --name <NAME>
  • --out <OUT>

Publish/replace a profile bundle in Edgeplane

Usage: edgeplane profile publish [OPTIONS] --name <NAME>

  • --name <NAME>
  • --bundle <BUNDLE>
  • --from-profile-dir <FROM_PROFILE_DIR>
  • --description <DESCRIPTION>
  • --manifest-file <MANIFEST_FILE>
  • --activate

Pull profile bundle from Edgeplane into local profile cache

Usage: edgeplane profile pull [OPTIONS] --name <NAME>

  • --name <NAME>
  • --apply
  • --allow-pin-mismatch

Pin a local profile to a specific remote sha256

Usage: edgeplane profile pin --name <NAME> --sha256 <SHA256>

  • --name <NAME>
  • --sha256 <SHA256>

Delete a profile from Edgeplane (requires explicit confirmation flag)

Usage: edgeplane profile delete [OPTIONS] --name <NAME>

  • --name <NAME>

  • --confirm-delete

    Default value: false

Show remote/local pin status for a profile

Usage: edgeplane profile status --name <NAME>

  • --name <NAME>

Activate a profile as default and apply its bundle locally in one step

Usage: edgeplane profile use --name <NAME>

  • --name <NAME>

Secrets provider + reference helpers

Usage: edgeplane secrets <COMMAND>

  • status — Inspect current secrets provider config for a profile
  • provider — Configure secrets provider for a profile
  • get — Resolve and print one named secret from the active profile mapping
  • bootstrap — Seed standard secret refs for the selected provider
  • rotate — Rotate one mapped secret for a profile
  • export-env — Resolve mapped secrets and write a .env-style file
  • infisical — Manage Infisical connection profiles (multi-account, multi-instance)

Inspect current secrets provider config for a profile

Usage: edgeplane secrets status [OPTIONS]

  • --profile <PROFILE>

    Default value: default

Configure secrets provider for a profile

Usage: edgeplane secrets provider <COMMAND>

  • env — Set provider to env
  • infisical — Set provider to Infisical and persist connection metadata

Set provider to env

Usage: edgeplane secrets provider env [OPTIONS]

  • --profile <PROFILE>

    Default value: default

Set provider to Infisical and persist connection metadata

Usage: edgeplane secrets provider infisical [OPTIONS]

  • --profile <PROFILE>

    Default value: default

  • --project-id <PROJECT_ID>

  • --env <ENV>

  • --path <PATH>

Resolve and print one named secret from the active profile mapping

Usage: edgeplane secrets get [OPTIONS] --name <NAME>

  • --profile <PROFILE>

    Default value: default

  • --name <NAME>

  • --reveal — Show the value (default redacts in human mode)

    Default value: false

Seed standard secret refs for the selected provider

Usage: edgeplane secrets bootstrap [OPTIONS]

  • --profile <PROFILE>

    Default value: default

  • --keep-existing — Do not overwrite existing refs

    Default value: false

  • --via-api — Call backend admin endpoint instead of local file mutation

    Default value: false

Rotate one mapped secret for a profile

Usage: edgeplane secrets rotate [OPTIONS] --name <NAME>

  • --profile <PROFILE>

    Default value: default

  • --name <NAME>

  • --value <VALUE>

  • --generator <GENERATOR>

    Default value: token

  • --via-api — Call backend admin endpoint instead of local mutation

    Default value: false

Resolve mapped secrets and write a .env-style file

Usage: edgeplane secrets export-env [OPTIONS] --out <OUT>

  • --profile <PROFILE>

    Default value: default

  • --out <OUT>

Manage Infisical connection profiles (multi-account, multi-instance)

Usage: edgeplane secrets infisical <COMMAND>

  • add — Add or update a named Infisical connection profile
  • list — List all Infisical profiles (marks the active one)
  • use — Switch the active Infisical profile
  • test — Test connectivity to the active (or specified) Infisical profile
  • rm — Remove a named Infisical profile
  • get — Fetch a secret value from Infisical using the active profile

Add or update a named Infisical connection profile

Usage: edgeplane secrets infisical add [OPTIONS] <NAME>

  • <NAME> — Profile name (e.g. “work”, “personal”)
  • --site-url <SITE_URL> — Infisical instance URL (default: https://app.infisical.com)

    Default value: https://app.infisical.com

  • --service-token <SERVICE_TOKEN> — Service token (mutually exclusive with —client-id / —client-secret)

  • --client-id <CLIENT_ID> — Universal Auth client ID

  • --client-secret <CLIENT_SECRET> — Universal Auth client secret

  • --project-id <PROJECT_ID> — Default project ID

  • --environment <ENVIRONMENT> — Default environment slug

    Default value: prod

  • --activate — Make this the active profile after adding

    Default value: true

List all Infisical profiles (marks the active one)

Usage: edgeplane secrets infisical list

Switch the active Infisical profile

Usage: edgeplane secrets infisical use <NAME>

  • <NAME> — Profile name to activate

Test connectivity to the active (or specified) Infisical profile

Usage: edgeplane secrets infisical test [NAME]

  • <NAME> — Profile name to test (default: active profile)

Remove a named Infisical profile

Usage: edgeplane secrets infisical rm <NAME>

  • <NAME> — Profile name to remove

Fetch a secret value from Infisical using the active profile

Usage: edgeplane secrets infisical get [OPTIONS] <SECRET_NAME>

  • <SECRET_NAME> — Secret name (key) to fetch
  • --profile <PROFILE> — Override the profile to use (default: active profile)

  • --project-id <PROJECT_ID> — Override the project ID (default: profile’s default_project_id)

  • --environment <ENVIRONMENT> — Override the environment slug (default: profile’s default_environment)

  • --path <PATH> — Secret path (default: /)

    Default value: /

  • --reveal — Print the raw value without redaction (default: redacted)

edgeplaned daemon control and work-model commands

Usage: edgeplane daemon <COMMAND>

  • up — Bring edgeplaned up: install if missing, then start the daemon
  • down — Stop the running edgeplaned daemon (install stays)
  • uninstall — Remove the edgeplaned binary and systemd unit
  • status — Show daemon health: backend reachable, runtimes, watchdog state
  • health — Deep health check with individual component results
  • upgrade — Upgrade the edgeplaned binary in place
  • version — Print edgeplaned daemon version
  • runtime — Manage locally installed agent runtimes
  • agent — Manage agents in a domain’s durable pool
  • mission — Inspect missions and their task DAGs
  • task — Manage and observe tasks
  • msg — Send and tail inter-agent messages
  • attach — Attach to a running agent, task, or exec (auto-detected)
  • watch — Unified live feed of progress events and messages
  • profile — Manage controlplane profiles (add, list, remove, rename)
  • use — Select the active controlplane profile (or show the current one)

Bring edgeplaned up: install if missing, then start the daemon

Usage: edgeplane daemon up [OPTIONS]

  • --backend-url <BACKEND_URL>
  • --yes

Stop the running edgeplaned daemon (install stays)

Usage: edgeplane daemon down

Remove the edgeplaned binary and systemd unit

Usage: edgeplane daemon uninstall

Show daemon health: backend reachable, runtimes, watchdog state

Usage: edgeplane daemon status

Deep health check with individual component results

Usage: edgeplane daemon health

Upgrade the edgeplaned binary in place

Usage: edgeplane daemon upgrade

  • --version <VERSION>

Print edgeplaned daemon version

Usage: edgeplane daemon version

Manage locally installed agent runtimes

Usage: edgeplane daemon runtime <COMMAND>

  • ls
  • install
  • test

Usage: edgeplane daemon runtime ls

Usage: edgeplane daemon runtime install <KIND>

  • <KIND>

Usage: edgeplane daemon runtime test <KIND>

  • <KIND>

Manage agents in a domain’s durable pool

Usage: edgeplane daemon agent <COMMAND>

  • ls — List agents. In standalone mode reads the local registry; in federated mode queries the controlplane
  • enroll — Enroll a new agent. In standalone mode writes to the local registry (~/.ep/registry.db); in federated mode calls the controlplane API
  • enroll-home — Provision the per-node home domain and enroll a default Claude Code agent in it. Standalone mirror of the controlplane’s auto-provisioning at node-register time. Idempotent
  • import — Bulk-import agents from a TOML manifest into the local registry. Each [[profile]] block is upserted as a zellij_hosted / persistent agent with a matching launch context. Idempotent — re-running updates in place. The daemon picks up changes on its next reconcile tick
  • reassign — Reassign an agent to a different domain
  • unenroll — Remove an agent from the registry / controlplane
  • attach
  • profile — Set or update an agent’s profile (role, instructions, scope, constraints)

List agents. In standalone mode reads the local registry; in federated mode queries the controlplane

Usage: edgeplane daemon agent ls [OPTIONS]

  • --domain <DOMAIN>
  • --status <STATUS>

Enroll a new agent. In standalone mode writes to the local registry (~/.ep/registry.db); in federated mode calls the controlplane API

Usage: edgeplane daemon agent enroll [OPTIONS] --domain <DOMAIN> --runtime <RUNTIME>

  • --domain <DOMAIN>

  • --runtime <RUNTIME>

  • --supervision <SUPERVISION> — Task (default) or persistent supervision mode

    Default value: task

  • --node <NODE>

  • --profile <PROFILE> — Path to a YAML or JSON profile file for this agent

Provision the per-node home domain and enroll a default Claude Code agent in it. Standalone mirror of the controlplane’s auto-provisioning at node-register time. Idempotent

Usage: edgeplane daemon agent enroll-home [OPTIONS]

  • --hostname <HOSTNAME> — Hostname used to form the home domain slug home-{slug(hostname)}. Defaults to the Tailscale FQDN leaf (when Tailscale is running) or the system hostname

  • --runtime <RUNTIME> — Runtime kind for the default home-domain agent

    Default value: claude_code

Bulk-import agents from a TOML manifest into the local registry. Each [[profile]] block is upserted as a zellij_hosted / persistent agent with a matching launch context. Idempotent — re-running updates in place. The daemon picks up changes on its next reconcile tick

Usage: edgeplane daemon agent import [OPTIONS] <PATH>

  • <PATH> — Path to a TOML manifest with [[profile]] blocks
  • --source <SOURCE> — Source tag to associate with imported agents. Defaults to manifest_import. Use a stable tag (e.g. fleet) so that re-runs update in place rather than accumulating duplicate rows

    Default value: manifest_import

Reassign an agent to a different domain

Usage: edgeplane daemon agent reassign --domain <DOMAIN> <AGENT_ID>

  • <AGENT_ID>
  • --domain <DOMAIN> — New domain ID

Remove an agent from the registry / controlplane

Usage: edgeplane daemon agent unenroll <AGENT_ID>

  • <AGENT_ID>

Usage: edgeplane daemon agent attach <AGENT_ID>

  • <AGENT_ID>

Set or update an agent’s profile (role, instructions, scope, constraints)

Usage: edgeplane daemon agent profile [OPTIONS] <AGENT_ID>

  • <AGENT_ID> — Agent ID to update
  • --file <FILE> — Path to a YAML or JSON file containing the profile
  • --name <NAME> — Quick single-field overrides: —name, —role, —instructions
  • --role <ROLE>
  • --instructions <INSTRUCTIONS>

Inspect missions and their task DAGs

Usage: edgeplane daemon mission <COMMAND>

  • ls
  • show
  • watch

Usage: edgeplane daemon mission ls [OPTIONS]

  • --domain <DOMAIN>

Usage: edgeplane daemon mission show <MISSION_ID>

  • <MISSION_ID>

Usage: edgeplane daemon mission watch <MISSION_ID>

  • <MISSION_ID>

Manage and observe tasks

Usage: edgeplane daemon task <COMMAND>

  • run
  • ls
  • show
  • watch
  • attach
  • cancel
  • retry

Usage: edgeplane daemon task run [OPTIONS] --title <TITLE> <MISSION_ID>

  • <MISSION_ID>
  • --title <TITLE>

  • --description <DESCRIPTION>

    Default value: “

  • --claim-policy <CLAIM_POLICY>

    Default value: first_claim

  • --runtime <RUNTIME>

  • --depends-on <DEPENDS_ON>

  • --priority <PRIORITY>

    Default value: 0

  • --input-file <INPUT_FILE>

Usage: edgeplane daemon task ls [OPTIONS]

  • --mission <MISSION>
  • --domain <DOMAIN>
  • --status <STATUS>

Usage: edgeplane daemon task show <TASK_ID>

  • <TASK_ID>

Usage: edgeplane daemon task watch [OPTIONS] <TASK_ID>

  • <TASK_ID>
  • --interval-secs <INTERVAL_SECS>

    Default value: 2

Usage: edgeplane daemon task attach <TASK_ID>

  • <TASK_ID>

Usage: edgeplane daemon task cancel <TASK_ID>

  • <TASK_ID>

Usage: edgeplane daemon task retry <TASK_ID>

  • <TASK_ID>

Send and tail inter-agent messages

Usage: edgeplane daemon msg <COMMAND>

  • send
  • tail

Usage: edgeplane daemon msg send [OPTIONS] <BODY>

  • <BODY>
  • --mission <MISSION>

  • --domain <DOMAIN>

  • --to <TO>

  • --channel <CHANNEL>

    Default value: coordination

Usage: edgeplane daemon msg tail [OPTIONS]

  • --mission <MISSION>
  • --domain <DOMAIN>

Attach to a running agent, task, or exec (auto-detected)

Usage: edgeplane daemon attach <TARGET>

  • <TARGET>

Unified live feed of progress events and messages

Usage: edgeplane daemon watch [OPTIONS]

  • --domain <DOMAIN>
  • --mission <MISSION>

Manage controlplane profiles (add, list, remove, rename)

Usage: edgeplane daemon profile <COMMAND>

  • add — Add a controlplane profile. If —join-token is given, registers this node with the controlplane and saves its identity in the profile
  • list — List saved profiles
  • remove — Remove a profile (clears active_profile if it was the active one)
  • rename — Rename a profile (preserves active_profile pointer if needed)
  • show — Show profile details (auth token is redacted)

Add a controlplane profile. If —join-token is given, registers this node with the controlplane and saves its identity in the profile

Usage: edgeplane daemon profile add [OPTIONS] --url <URL> <NAME>

  • <NAME> — Unique profile name (e.g. “homelab”, “work”)
  • --url <URL> — Controlplane base URL (e.g. http://edgeplane:8008)

  • --ttl-hours <TTL_HOURS> — TTL for the OIDC session token in hours (1–8760). Omit to use the server default (8h). Longer values reduce re-auth frequency for edgeplaned

  • --join-token <BOOTSTRAP_TOKEN> — One-time node join token (from edgeplane node ... join-token create). When supplied, this node is registered with the controlplane and its identity (node_id + attach_secret) is saved into the profile

  • --node-name <NODE_NAME> — Display name for this node (defaults to system hostname)

  • --trust-tier <TRUST_TIER> — Trust tier label sent at registration (default: “untrusted”)

    Default value: untrusted

  • --tailscale-fqdn <TAILSCALE_FQDN> — Tailscale FQDN to register (e.g. node-0.tailnet.ts.net)

  • --activate — Set this profile as active immediately after adding

List saved profiles

Usage: edgeplane daemon profile list

Remove a profile (clears active_profile if it was the active one)

Usage: edgeplane daemon profile remove <NAME>

  • <NAME>

Rename a profile (preserves active_profile pointer if needed)

Usage: edgeplane daemon profile rename <OLD_NAME> <NEW_NAME>

  • <OLD_NAME>
  • <NEW_NAME>

Show profile details (auth token is redacted)

Usage: edgeplane daemon profile show <NAME>

  • <NAME>

Select the active controlplane profile (or show the current one)

Usage: edgeplane daemon use [OPTIONS] [NAME]

  • <NAME> — Profile to activate. Omit to show the currently active profile
  • -y, --yes — Restart edgeplaned without prompting after switching. Implies “yes” to the interactive restart prompt. Use in scripts
  • --no-restart — Don’t prompt to restart edgeplaned after switching; just print the command. Mutually exclusive with --yes. Useful in CI/scripts that handle the restart themselves

Launch and manage an agent runtime: claude, codex, gemini, openclaw, custom

Usage: edgeplane run [OPTIONS] <RUNTIME> [ACTION] [-- <PASSTHROUGH>...]

  • <RUNTIME> — Runtime to launch: claude, codex, gemini, openclaw, custom

  • <ACTION> — Action to perform (default: launch)

    Default value: launch

    Possible values:

    • launch: Launch the runtime (default)
    • doctor: Inspect and optionally repair runtime readiness
    • exec: Thin native execution — passes args verbatim to the runtime binary
    • status: Read-only runtime status (codex only)
  • <PASSTHROUGH> — Args forwarded verbatim to the runtime binary (after —)

  • -p, --profile <PROFILE> — Profile name

  • --new — Force a new session instead of resuming the last one (launch action)

    Default value: false

  • --headless — Non-interactive mode; fail rather than prompt

    Default value: false

  • --domain <DOMAIN> — Bind to an existing domain — enables mesh participation via SoloSupervisor (launch action)

  • --mission <MISSION> — Bind to an existing mission (launch action)

  • --task <TASK> — Bind to an existing task (launch action)

  • --mode <MODE> — Execution mode (launch action)

    Default value: interactive

    Possible values: interactive, headless, solo

  • --fix — Apply safe deterministic repairs (doctor action)

    Default value: false

  • --json — Emit machine-readable JSON output (doctor/status actions)

    Default value: false

  • --with-rtk — Enable RTK token compression for this agent session (soft: warns if rtk not installed)

List and describe capability packs available through edgeplaned

Usage: edgeplane capabilities <COMMAND>

  • list — List available capabilities
  • describe — Show full schema for a capability

List available capabilities

Usage: edgeplane capabilities list [OPTIONS]

  • --tag <TAG> — Filter by tag (e.g. kubernetes, git)
  • --json — Output as JSON
  • --route <MODE> — Routing mode override (auto | local | backend | remote)

Show full schema for a capability

Usage: edgeplane capabilities describe <NAME>

  • <NAME> — The capability name in pack.capability format (e.g. kubectl-observe.kubectl-get-pods)

Execute a capability

Usage: edgeplane exec [OPTIONS] <NAME> [-- <ARGS>...]

  • <NAME> — Capability name in pack.capability format (e.g. kubectl-observe.kubectl-get-pods)
  • <ARGS> — Arguments as key=value pairs or a single JSON string
  • --json — Output as JSON (default when not a TTY)
  • --dry-run — Validate args without executing
  • --timeout <TIMEOUT> — Timeout in seconds
  • --domain-id <DOMAIN_ID> — Domain ID for receipt correlation
  • --agent-id <AGENT_ID> — Agent ID for receipt correlation
  • --route <ROUTE> — Override routing mode: auto|local|remote|backend

Inspect capability execution receipts stored in the local SQLite audit log

Usage: edgeplane receipts <COMMAND>

  • last — Show most recent capability executions
  • get — Get a specific receipt by ID
  • ls — List receipts with optional filters

Show most recent capability executions

Usage: edgeplane receipts last [OPTIONS]

  • --limit <LIMIT>

    Default value: 10

  • --json

Get a specific receipt by ID

Usage: edgeplane receipts get [OPTIONS] <ID>

  • <ID>
  • --json

List receipts with optional filters

Usage: edgeplane receipts ls [OPTIONS]

  • --limit <LIMIT>

    Default value: 20

  • --domain <DOMAIN>

  • --agent <AGENT>

  • --json

Bidirectional git-backed config sync for this node

Usage: edgeplane mesh-sync <COMMAND>

  • pull — Pull latest config from sync repo (default action)
  • status — Show sync status
  • push — Push local node config changes

Pull latest config from sync repo (default action)

Usage: edgeplane mesh-sync pull

Show sync status

Usage: edgeplane mesh-sync status

Push local node config changes

Usage: edgeplane mesh-sync push [OPTIONS]

  • --message <MESSAGE>

    Default value: Update node config

Launch the terminal UI (ratatui) for fleet monitoring and management

Usage: edgeplane tui [OPTIONS]

  • --domain <DOMAIN> — Open the TUI pre-focused on a specific domain by ID

Manage named controlplane connection contexts

Usage: edgeplane context <COMMAND>

  • list — List all configured contexts, marking the active one with *
  • current — Show the active context name and URL
  • use — Switch the active context
  • add — Add a new named context
  • remove — Remove a context (cannot remove the currently active one)
  • discover — Discover edgeplane-tower nodes and write ~/.edgeplane/servers

List all configured contexts, marking the active one with *

Usage: edgeplane context list

Show the active context name and URL

Usage: edgeplane context current

Switch the active context

Usage: edgeplane context use <NAME>

  • <NAME> — Context name to activate

Add a new named context

Usage: edgeplane context add [OPTIONS] --url <URL> <NAME>

  • <NAME> — Context name (e.g. “local”, “production”, “team-alpha”)
  • --url <URL> — Controlplane base URL
  • --description <DESCRIPTION> — Optional human-readable description

Remove a context (cannot remove the currently active one)

Usage: edgeplane context remove <NAME>

  • <NAME> — Context name to remove

Discover edgeplane-tower nodes and write ~/.edgeplane/servers

Usage: edgeplane context discover [OPTIONS]

  • --probe <PROBE> — Candidate edgeplane-tower URLs to probe (comma-separated or repeated). If omitted, probes the current server list + localhost:8008
  • --dry-run — Just print what would be written without saving

Domain attachment and home-domain management for this agent

Usage: edgeplane domain <COMMAND>

  • home — Show this agent’s home domain
  • attach — Attach this agent to a domain (sets current_domain_id)
  • detach — Detach from the current domain and return to the home domain
  • create — Create a new domain
  • list — List all visible domains
  • show — Show a single domain
  • update — Update a domain’s metadata
  • delete — Delete a domain
  • northstar — Get or edit the domain’s Northstar narrative document

Show this agent’s home domain

Usage: edgeplane domain home

Attach this agent to a domain (sets current_domain_id)

Usage: edgeplane domain attach <DOMAIN_ID>

  • <DOMAIN_ID> — Domain ID to attach to

Detach from the current domain and return to the home domain

Usage: edgeplane domain detach

Create a new domain

Usage: edgeplane domain create [OPTIONS] <NAME>

  • <NAME> — Domain name
  • --description <DESCRIPTION>
  • --owners <OWNERS> — Comma-separated owner identities
  • --contributors <CONTRIBUTORS> — Comma-separated contributor identities
  • --tags <TAGS> — Comma-separated tags
  • --visibility <VISIBILITY>
  • --status <STATUS>

List all visible domains

Usage: edgeplane domain list [OPTIONS]

  • --limit <LIMIT>

    Default value: 50

Show a single domain

Usage: edgeplane domain show <ID>

  • <ID> — Domain ID

Update a domain’s metadata

Usage: edgeplane domain update [OPTIONS] <ID>

  • <ID> — Domain ID
  • --description <DESCRIPTION>
  • --owners <OWNERS>
  • --contributors <CONTRIBUTORS>
  • --tags <TAGS>
  • --visibility <VISIBILITY>
  • --status <STATUS>

Delete a domain

Usage: edgeplane domain delete <ID>

  • <ID> — Domain ID

Get or edit the domain’s Northstar narrative document

Usage: edgeplane domain northstar <COMMAND>

  • get — Print the domain’s Northstar document to stdout
  • edit — Open the domain’s Northstar document in $EDITOR and save changes

Print the domain’s Northstar document to stdout

Usage: edgeplane domain northstar get [OPTIONS] <DOMAIN_ID>

  • <DOMAIN_ID> — Domain id
  • --json — Emit raw JSON envelope instead of markdown

Open the domain’s Northstar document in $EDITOR and save changes

Usage: edgeplane domain northstar edit <DOMAIN_ID>

  • <DOMAIN_ID> — Domain id

Mission (workstream) CRUD — create, list, show, update, delete

Usage: edgeplane mission <COMMAND>

  • create — Create a new mission
  • list — List missions, optionally filtered to a domain
  • show — Show a single mission
  • update — Update a mission’s metadata
  • delete — Delete a mission
  • brief — Get or edit the mission’s Brief narrative document

Create a new mission

Usage: edgeplane mission create [OPTIONS] --domain-id <DOMAIN_ID> <NAME>

  • <NAME> — Mission name
  • --domain-id <DOMAIN_ID> — Domain this mission belongs to
  • --description <DESCRIPTION>
  • --owners <OWNERS> — Comma-separated owner identities
  • --contributors <CONTRIBUTORS> — Comma-separated contributor identities
  • --tags <TAGS> — Comma-separated tags
  • --status <STATUS>
  • --workstream <WORKSTREAM> — Workstream markdown content

List missions, optionally filtered to a domain

Usage: edgeplane mission list [OPTIONS]

  • --domain-id <DOMAIN_ID>

Show a single mission

Usage: edgeplane mission show --domain-id <DOMAIN_ID> <ID>

  • <ID> — Mission ID
  • --domain-id <DOMAIN_ID> — Domain this mission belongs to (required — tower only serves domain-scoped paths)

Update a mission’s metadata

Usage: edgeplane mission update [OPTIONS] --domain-id <DOMAIN_ID> <ID>

  • <ID> — Mission ID
  • --domain-id <DOMAIN_ID> — Domain this mission belongs to (required — tower only serves domain-scoped paths)
  • --name <NAME>
  • --description <DESCRIPTION>
  • --owners <OWNERS>
  • --contributors <CONTRIBUTORS>
  • --tags <TAGS>
  • --status <STATUS>

Delete a mission

Usage: edgeplane mission delete --domain-id <DOMAIN_ID> <ID>

  • <ID> — Mission ID
  • --domain-id <DOMAIN_ID> — Domain this mission belongs to (required — tower only serves domain-scoped paths)

Get or edit the mission’s Brief narrative document

Usage: edgeplane mission brief <COMMAND>

  • get — Print the mission’s Brief document to stdout
  • edit — Open the mission’s Brief document in $EDITOR and save changes

Print the mission’s Brief document to stdout

Usage: edgeplane mission brief get [OPTIONS] <MISSION_ID>

  • <MISSION_ID> — Mission id
  • --json — Emit raw JSON envelope instead of markdown

Open the mission’s Brief document in $EDITOR and save changes

Usage: edgeplane mission brief edit <MISSION_ID>

  • <MISSION_ID> — Mission id

Task CRUD — create, list, show, update, delete

Usage: edgeplane task <COMMAND>

  • create — Create a new task
  • list — List tasks for a mission
  • show — Show a single task
  • update — Update a task’s metadata
  • delete — Delete a task
  • mesh — Mesh task operations — the real, agent-claimable task model backed by the meshtask table (submit/claim/heartbeat/progress/complete/fail/block). This is unrelated to create/list/show/update/delete above: those operate on the disconnected, UI-only task table and have zero synchronization with mesh tasks. Mesh tasks are what agents actually dispatch, claim, and report progress against. See docs/plans/2026-07-16-fix-mcp-workspace-snapshot-meshtask.md for history

Create a new task

Usage: edgeplane task create [OPTIONS] --mission-id <MISSION_ID> --domain-id <DOMAIN_ID> <TITLE>

  • <TITLE> — Task title
  • --mission-id <MISSION_ID> — Mission this task belongs to (required)
  • --domain-id <DOMAIN_ID> — Domain this task belongs to (required — tower only serves domain-scoped paths)
  • --description <DESCRIPTION>
  • --status <STATUS>
  • --owner <OWNER>
  • --contributors <CONTRIBUTORS> — Comma-separated contributor identities
  • --dod <DOD> — Definition of done
  • --dependencies <DEPENDENCIES> — Comma-separated task IDs this task depends on

List tasks for a mission

Usage: edgeplane task list --mission-id <MISSION_ID>

  • --mission-id <MISSION_ID> — Mission ID (required)

Show a single task

Usage: edgeplane task show --mission-id <MISSION_ID> --domain-id <DOMAIN_ID> <ID>

  • <ID> — Task ID
  • --mission-id <MISSION_ID>
  • --domain-id <DOMAIN_ID> — Domain this task belongs to (required — tower only serves domain-scoped paths)

Update a task’s metadata

Usage: edgeplane task update [OPTIONS] --mission-id <MISSION_ID> --domain-id <DOMAIN_ID> <ID>

  • <ID> — Task ID
  • --mission-id <MISSION_ID>
  • --domain-id <DOMAIN_ID> — Domain this task belongs to (required — tower only serves domain-scoped paths)
  • --title <TITLE>
  • --description <DESCRIPTION>
  • --status <STATUS>
  • --owner <OWNER>
  • --contributors <CONTRIBUTORS>
  • --dod <DOD>
  • --dependencies <DEPENDENCIES>

Delete a task

Usage: edgeplane task delete --mission-id <MISSION_ID> --domain-id <DOMAIN_ID> <ID>

  • <ID> — Task ID
  • --mission-id <MISSION_ID>
  • --domain-id <DOMAIN_ID> — Domain this task belongs to (required — tower only serves domain-scoped paths)

Mesh task operations — the real, agent-claimable task model backed by the meshtask table (submit/claim/heartbeat/progress/complete/fail/block). This is unrelated to create/list/show/update/delete above: those operate on the disconnected, UI-only task table and have zero synchronization with mesh tasks. Mesh tasks are what agents actually dispatch, claim, and report progress against. See docs/plans/2026-07-16-fix-mcp-workspace-snapshot-meshtask.md for history

Usage: edgeplane task mesh <COMMAND>

  • submit — Submit a new mesh task under a mission
  • claim — Claim an unclaimed mesh task (acquires a claim lease)
  • get — Fetch a single mesh task by ID
  • list — List mesh tasks for a mission
  • heartbeat — Heartbeat an active mesh task claim to keep the lease alive
  • progress — Record a progress event against a claimed mesh task
  • complete — Mark a mesh task complete with its output
  • fail — Mark a mesh task failed
  • block — Mark a mesh task blocked, pending external input

Submit a new mesh task under a mission

Usage: edgeplane task mesh submit [OPTIONS] --mission-id <MISSION_ID> --title <TITLE>

  • --mission-id <MISSION_ID> — Mission this task belongs to (required). Domain is resolved server-side from the mission — there is no --domain-id flag here
  • --title <TITLE> — Task title
  • --description <DESCRIPTION>
  • --kind <KIND>
  • --priority <PRIORITY>
  • --input-json <INPUT_JSON> — Structured task input as a JSON string

Claim an unclaimed mesh task (acquires a claim lease)

Usage: edgeplane task mesh claim [OPTIONS] --task-id <TASK_ID>

  • --task-id <TASK_ID> — Mesh task ID
  • --agent-id <AGENT_ID>
  • --lease-seconds <LEASE_SECONDS>

Fetch a single mesh task by ID

Usage: edgeplane task mesh get --task-id <TASK_ID>

  • --task-id <TASK_ID> — Mesh task ID

List mesh tasks for a mission

Usage: edgeplane task mesh list [OPTIONS] --mission-id <MISSION_ID>

  • --mission-id <MISSION_ID>
  • --status <STATUS>
  • --limit <LIMIT>

Heartbeat an active mesh task claim to keep the lease alive

Usage: edgeplane task mesh heartbeat [OPTIONS] --task-id <TASK_ID>

  • --task-id <TASK_ID> — Mesh task ID
  • --claim-lease-id <CLAIM_LEASE_ID>

Record a progress event against a claimed mesh task

Usage: edgeplane task mesh progress [OPTIONS] --task-id <TASK_ID>

  • --task-id <TASK_ID> — Mesh task ID
  • --claim-lease-id <CLAIM_LEASE_ID>
  • --event-type <EVENT_TYPE>
  • --payload-json <PAYLOAD_JSON> — Structured progress payload as a JSON string

Mark a mesh task complete with its output

Usage: edgeplane task mesh complete [OPTIONS] --task-id <TASK_ID>

  • --task-id <TASK_ID> — Mesh task ID
  • --claim-lease-id <CLAIM_LEASE_ID>
  • --output-json <OUTPUT_JSON> — Structured task output as a JSON string

Mark a mesh task failed

Usage: edgeplane task mesh fail [OPTIONS] --task-id <TASK_ID>

  • --task-id <TASK_ID> — Mesh task ID
  • --claim-lease-id <CLAIM_LEASE_ID>
  • --error <ERROR>

Mark a mesh task blocked, pending external input

Usage: edgeplane task mesh block [OPTIONS] --task-id <TASK_ID>

  • --task-id <TASK_ID> — Mesh task ID
  • --claim-lease-id <CLAIM_LEASE_ID>
  • --reason <REASON>

Emit the CLI surface as a versioned JSON schema contract; drill into a subtree with [path…]

Usage: edgeplane discover [OPTIONS] [PATH]...

  • <PATH> — Drill into a specific subcommand path (e.g. agent, agent signal)
  • --deep — Return the full subtree (default: 1 level of subcommands)

This document was generated automatically by clap-markdown.