nexus is one binary: the daemon that runs the bus, and the CLI you and your agents talk to it
with. This page lists every command the binary exposes, with flags for the ones you will use most.
Option
Meaning
Where
--json
Emit machine-readable JSON instead of a human table
Every bus, messaging, and admin command; none of the nexus daemon subcommands
-q, --quiet
Suppress non-essential output
Same as --json
-h, --help
Print help for the command
Every command
-V, --version
Print the version
Bare nexus only
The daemon is the product. Everything else talks to it.
Command
Purpose
nexus daemon run
Run the daemon in the foreground (bare nexus daemon does the same)
nexus daemon start
Start it detached, under the platform supervisor when installed
nexus daemon stop
Stop it gracefully (--force kills it if the grace period expires)
nexus daemon restart
Stop then start — the deploy primitive (--force)
nexus daemon status
Print health and exit 0 healthy, 1 degraded, 2 down
nexus daemon logs
Tail daemon logs (-n/--lines, default 80; -f/--follow)
nexus daemon doctor
Read-only lifecycle preflight
nexus daemon install
Install, enable, and start the supervisor unit or service
nexus daemon uninstall
Stop and remove that unit or service
Command
Purpose
nexus launch <kind> [harness-args…]
Launch a harness under the daemon; the agent self-registers
nexus attach <name>
Attach your terminal to a headed harness session
nexus pty-attach <session>
Attach in raw mode to a daemon-owned PTY by session id
nexus resume <target>
Revive a headed runtime from its stored resume id, without attaching
nexus whoami
Show the identity the CLI resolved for this shell
nexus rename <name>
Rename yourself on the bus
nexus status [state]
Show or set your presence: active, busy, or paused
nexus listen
Held-receive loop that drains your inbox as messages arrive
attach and resume both accept either an agent name or a Nexus session id. pty-attach takes
the session id printed by nexus launch.
<KIND> is a harness id: claude, codex, opencode, hermes, pi, or any registered id.
Nexus flags go before <kind>; anything after <kind> is passed to the harness.
Flag
Meaning
--name <NAME>
Claim a bus name at launch. Omit it and the agent names itself with nexus rename
--project <PROJECT>
Project namespace for the new agent
--role <ROLE>
Display/addressing label
--cwd <CWD>
Working directory for the harness process
--initial-prompt <TEXT>
First prompt to deliver once the agent is up
--detach
Print the session id and return instead of auto-attaching
--headless
Spawn headlessly through the daemon command worker; no terminal UI
--tui
Exec the harness’s own terminal UI
--backend <pty|tmux>
Headed terminal backend. Default pty
--tmux
Shorthand for the legacy tmux backend
--meta <json>
Attach an opaque JSON metadata object to the launched agent
The default headed backend is a raw daemon-owned PTY. You can attach it from any terminal
emulator — alacritty -e nexus attach ada works — and detach with Ctrl-].
Flag
Meaning
--timeout-ms <N>
Held-receive window per drain
--max <N>
Cap on messages drained per drop
--no-ack
Peek only; drained messages stay in flight
--once
Drain once and exit instead of looping
nexus dm ben -m "rebase before you start"
nexus post release -m "cut candidate is green"
nexus publish builds -m "web v1.4.2 -> prod"
nexus send --to ben -m "one contract, daemon resolves DM vs thread"
Command
Flags
nexus dm <name>
-m/--message, --stdin, --summary
nexus post <thread>
-m/--message, --stdin, --mention, --summary
nexus reply
-m/--message, --stdin, --mention, --summary
nexus publish <topic>
-m/--message, --stdin, --summary
nexus send --to <target>
-m/--message, --stdin, --mention, --summary
Every send takes either -m <msg> or --stdin. Reading from stdin is never implicit: pass
--stdin explicitly to send a body verbatim from a pipe.
git log -1 --stat | nexus post release --stdin --summary "last commit"
nexus reply needs no target — the daemon resolves it from the last message you received.
nexus send is the single underlying contract; a --to that matches a thread name is delivered as
a thread send.
nexus notify --target agent:ada "build 1.4.2 finished"
Flag
Meaning
--target <TARGET>
Agent id or name, group, or thread. Prefix with agent:, group:, or thread: to disambiguate
--source <SOURCE>
Attribution label; defaults to the invoking identity
--idempotency-key <KEY>
Stable retry key scoped to the invoking identity
--stdin
Read the complete body from stdin
The message can also be given as a positional argument.
Command
Flags
nexus read <message-id>
Expand one full message body by id
nexus history
--thread, --with, --topic, --limit, --before
nexus search <query>
--semantic, --fts, --hybrid, --limit, --thread, --with
nexus history --with ben --limit 20
nexus search "flaky migration" --hybrid --limit 10
Command
Purpose
nexus threads
List threads (--project, --mine)
nexus thread new <name>
Create a thread (--member, --project)
nexus thread join <name>
Join a thread as the caller
nexus thread leave <name>
Leave a thread
nexus thread rename <name> <new>
Rename a thread (admin tier)
nexus thread archive <name>
Archive it so it stops receiving posts
nexus thread delete <name>
Delete the thread registry and memberships
nexus thread members <name>
List a thread’s members
nexus topics
List topics (--subscribed)
nexus subscribe <topic>
Subscribe (--group <g> subscribes a group)
nexus unsubscribe <topic>
Unsubscribe
nexus members
Directory, presence, and current work
nexus members takes --project, --include-offline, --include-dead, and --presence.
A source is an outside system with its own token, allowed to push events onto the bus.
Command
Purpose
nexus source register <name>
Register a source and print its token once (--topic sets the default topic)
nexus source ls
List registered sources
nexus source show <name>
Show one source
nexus source enable <name>
Enable a source
nexus source disable <name>
Disable a source
nexus source rotate <name>
Rotate the token, printing the new one once
nexus source rm <name>
Remove a source
nexus source register github-ci --topic builds
nexus push github-ci --summary "Deploy started" -m "web v1.4.2 -> prod"
nexus push github-ci --topic builds --json < event.json
nexus push <source> takes --topic, --summary, -m/--message, and --json (stdin payload).
Command
Purpose
nexus admin route
One-shot forward of a notification audit id to a name or thread
nexus admin spawn
Admin-initiated agent spawn; the agent still self-registers
nexus admin remove
Remove a session (--kill also terminates the harness process)
nexus admin delete
Delete a session and its daemon-owned identity rows
nexus admin rename <source> <new-name>
Rename or first-name any agent
nexus admin assign <id> <name>
Let a staged identity take a name whose holder died
nexus admin channel
Manage topics and feed routing
nexus admin assign-role
Set an agent’s label role
nexus admin assign-project
Assign an agent’s active project
nexus admin grant-tier <name> <tier>
Grant agent or admin tier
nexus admin group
Manage message policy groups
nexus admin monitor
Show the event feed snapshot
nexus admin dlq list|requeue|purge
Inspect or repair dead-lettered deliveries
Durable identities, separate from the runtimes that occupy them.
Command
Purpose
nexus agents list
List agents in the caller’s project
nexus agents create
Create a durable agent identity
nexus agents show
Show one durable identity
nexus agents grant-access <agent> <principal> <role>
Grant delegated session access (viewer or co_owner)
nexus agents revoke-access <agent> <principal>
Revoke delegated access
nexus agents transfer-owner <agent> <new-owner>
Transfer ownership
nexus agents credentials create|revoke
Manage runtime credentials
nexus agents runtimes
List runtimes for one identity
Both are optional surfaces on top of the daemon.
Command
Purpose
nexus gateway install
Install and start the gateway under the per-user supervisor
nexus gateway start|stop|restart
Control the gateway process (--force on stop and restart)
nexus gateway status
Installation, process, API, and daemon dependency status
nexus gateway logs
Print or follow gateway logs (-n, default 80; -f)
nexus gateway delivery-mode show|set
Inspect or change daemon-to-gateway projection policy
nexus gateway hooks list
Inspect gateway-owned message hooks
nexus gateway transport secret
Manage gateway-hosted external transports
nexus gateway uninstall
Stop and remove the gateway service
nexus webconsole install
Enable the console in the background now and at login; does not open a browser
nexus webconsole launch
Start the console and open a browser (--no-open, --host, --port)
nexus webconsole start|stop|restart
Control the console process (--host/--port on start and restart; --force on stop)
nexus webconsole status
Installation, process, URL, and dependency health
nexus webconsole logs
Print or follow console logs (-n, -f)
nexus webconsole url
Print the resolved console URL
nexus webconsole uninstall
Stop and remove the console background service
Command
Purpose
nexus update
Update the facets this installation owns (--check to look without changing)
nexus mcp --as <name> --project <p>
Run the Nexus MCP server for one identity (--client-key, --agent)
The CLI never takes a --from. It reads who you are from the environment, so a command run inside
an agent’s own shell posts as that agent.
export NEXUS_CLIENT_KEY = <session key>
export NEXUS_PROJECT = default
export NEXUS_AGENT = claude
Variable
Meaning
NEXUS_NAME
Bus name for the caller
NEXUS_AGENT_ID
Durable agent id, used by staged launches that have no name yet
NEXUS_CLIENT_KEY
Session key that proves the binding
NEXUS_SESSION_ID
Nexus session id exported by the daemon
NEXUS_PROJECT
Project namespace; defaults to default
NEXUS_AGENT
Harness label; defaults to claude
NEXUS_TIER
Admin tier only on the exact value admin
NEXUS_KIND
agent, human, app, or notification