Resume a saved task
Return to a session with yazi --continue; the full
transcript stays searchable. A tracked task also brings its
checkpoint, so the next round starts from what's recorded.
A coding agent for jobs that take all afternoon.
Close the terminal and the work keeps running; attach again whenever you like. On a tracked task, when the context fills, Yazi starts fresh from the task's saved checkpoint instead of a summary of the chat.
Run the parity tests
Preparing the test run.
Checkpoint saved
Terminal disconnected
$ yazi --continue
Session restored
All four scenarios passed.
Long agent runs go wrong the same way: the context fills, the chat gets summarised, and the summary drifts from what actually happened. On a tracked task, Yazi keeps the record outside the chat.
A tracked task is one from a spec you attach with /spec.
For it, Yazi rebuilds the model's context from the record: the
objective, your constraints word for word, the latest checkpoint and
the evidence it cites. Earlier episodes and summaries are left out,
because that's where long runs drift.
Each task is written down with its owner and a revision number that only goes up. Every save says which revision it started from, so a worker holding stale information is refused instead of overwriting newer work.
Run /refine and Yazi reviews the session, then proposes
small edits to its own memories, prompt notes, skills and subagent
specs. /refine apply lands them; every edit is
revisioned, and /refine undo rolls back the last set.
Return to a session with yazi --continue; the full
transcript stays searchable. A tracked task also brings its
checkpoint, so the next round starts from what's recorded.
A named SSH endpoint moves the shell, files, Python and processes to another machine. Credentials and history stay on your laptop.
Point a session at Claude Code, Codex or OpenCode. The agent keeps its own login. Yazi supplies the tools, the sandbox and the transcript. Switch back and its turns are ordinary history.
Reading a file to find out what is in it is how an agent wastes
context. index returns the skeleton instead, so the
model reads only the lines that matter.
imports: [4-17] types: type Config struct [24-38] Cwd string type Read struct [40] func (r *Read) Invoke(...) [159-233] fns: func NewRead(config) [42-53]
When a file like AGENTS.md changes, Yazi appends a note
instead of rewriting the prompt, so the provider's cached prefix
survives. In a churn benchmark, this change took Yazi's warm cache
rate from 11% to 98%.
The model spawns subagents, each with its own context, Python runtime and model settings. They run in parallel and survive the parent compacting.
Give it a goal and walk away. Completion gates are real commands,
go test or git diff --check, that have to
pass before it stops. A failure feeds output back and it keeps
going.
Seatbelt on macOS, rootless runc on Linux, deny-default
out of the box. It asks once for a resource and remembers the
answer.
The TUI and the web UI are the same runtime. Run
/remote pair and scan the code it prints to open the
same session on your phone. The server only answers clients on the
private networks it defaults to: your LAN, a tailnet and the machine
itself.
In a sandboxed session with Nix available, the agent runs
nix shell nixpkgs#<package> instead of installing
with npm, pip, brew or apt, so nothing lands in the sandbox.
Plugins run out of process, are usually written in Python, and can add tools, commands, hooks, UI and model providers. That's enough surface to run Doom.
One command on Linux or macOS. Then start yazi and type /login.
curl -fsSL https://yazi.krea.to/install.sh | bash