Skip to content

How to work with Nagi

Preview docs describe unreleased preview builds. Stable docs remain at /docs/.

Run Nagi where the work lives. Attach from wherever you are.

Nagi is a background session server plus one or more terminal clients. Panes keep running in the server. Clients attach, detach, and render the session.

Start Nagi from the project directory:

Terminal window
nagi

Nagi starts or attaches to your local background session automatically. You do not manage sockets. Run shells, servers, tests, and agents normally inside panes.

Detach the client with ctrl+b q. Your panes keep running.

Reattach later:

Terminal window
nagi

If you want to end the session and stop its panes, stop the server:

Terminal window
nagi server stop

SSH to the machine that has the code and credentials, then run Nagi there:

Terminal window
ssh you@server
nagi

This works like a terminal multiplexer. Your shell is remote. The Nagi server is remote. The agents and panes run on the remote machine. Detach with ctrl+b q, disconnect, then SSH back and run nagi again.

Use this path when you already live inside an SSH shell, when you are on a phone or tablet SSH client, or when you want the simplest possible setup.

You do not need a Nagi mobile app or a web dashboard. Install any SSH client on your phone, connect to the machine where your agents run, and start Nagi there:

Terminal window
ssh you@server
nagi

The same persistent Nagi session opens in your phone terminal. The TUI adapts to narrow screens, so you can inspect agents, switch workspaces, and check panes without leaving SSH.

On iPhone, apps like moshi work well.

Nagi agent session over SSH on a phone
agent session over SSH
Nagi responsive switch menu on a phone
responsive switch menu

Attach through SSH without opening a shell first:

Terminal window
nagi --remote workbox
nagi --remote ssh://you@server:2222

Your local Nagi acts as a thin client. It connects over SSH, starts or attaches to the remote Nagi server, and streams the UI back to your local terminal.

Use this path when you want the remote session to feel local. The client runs on your machine, so local desktop features such as image clipboard paste can be bridged to the remote server. If you SSH first and run nagi on the server, Nagi runs entirely on that server and cannot read your local desktop clipboard.

For repeat targets, put the host in your SSH config:

Host workbox
HostName server.example.com
User you
Port 2222

Then attach with:

Terminal window
nagi --remote workbox

Use nagi for local work. Use ssh you@server then nagi when you want Nagi to behave like tmux on that remote shell or when you are using a phone SSH client. Use nagi --remote <host> when you want a local thin client for a remote session, including local clipboard image paste bridging.

For remote bootstrap details, named remote sessions, custom binaries, direct terminal attach, and --no-session, see Persistence and remote access.