Coast Daemon

The Coast daemon (coastd) is the long-running local process that does the actual orchestration work. The CLI and Coastguard are clients; coastd is the control plane behind them.

Architecture at a Glance

coast CLI (automation) -----+
                            +--> coastd daemon
Coastguard UI (human) ------+         |
                                      +--> Coasts
                                      +--> Ports
                                      +--> State

The CLI sends requests to coastd over a local Unix socket; Coastguard connects over a WebSocket. The daemon applies changes to runtime state.

What It Does

coastd handles the operations that need persistent state and background coordination:

  • Tracks Coast instances, builds, and shared services.
  • Creates, starts, stops, and removes Coast runtimes.
  • Applies assign/unassign/checkout operations.
  • Manages canonical and dynamic port forwarding.
  • Streams logs, status, and runtime events to CLI and UI clients.

In short: if you run coast run, coast assign, coast checkout, or coast ls, the daemon is the component doing the work.

How It Runs

You can run the daemon in two common ways:

# Register daemon auto-start at login (recommended)
coast daemon install

# Manual start mode
coast daemon start

If you skip daemon install, you need to start it yourself each session before using Coast commands.

Reporting Bugs

If you run into issues, please include the coastd daemon logs when submitting a bug report. The logs contain the context needed to diagnose most problems:

coast daemon logs