StillShell

Fieldwork / 16 October 2026

We left a counter running.
Then came back.

A small native experiment behind the pictures. The website shows recorded results; it does not run Herdr or inspect your machine.

HERDR 0.9.5
macOS · ARM64
ONE LOCAL RUN

What we actually ran

We downloaded the official Apple silicon binary for Herdr 0.9.5 and matched its published SHA-256. A temporary configuration and a named proof session kept the experiment separate from personal sessions. The panes used a non-login shell. No account, plugin, model or remote host was connected.

The program below writes its process ID and a sequence number to heartbeat.jsonl. That file lets us observe progress while no client is attached. It also prints the same values in the terminal.

import os, time, pathlib
p = pathlib.Path("heartbeat.jsonl")
i = 0
while True:
    i += 1
    with p.open("a") as f:
        f.write(f"{os.getpid()} {i}\n")
    print("heartbeat", os.getpid(), i, flush=True)
    time.sleep(0.25)

Download the original heartbeat program · Observed results as JSON

What changed

6 → 13 lines. The same process kept appending after the detach shortcut closed our only client. Reattaching showed the same terminal identity and PID.

Ctrl+C → no new lines. The heartbeat stopped; the pane remained. Explicitly running the command again started PID 94881 instead of 94795.

Stop → restart → 2 panes. Both restored panes used the same directory as before. Their terminal identities were new. The heartbeat file stayed at its stopped length.

Fifteen assertions passed, including the detach checks repeated at three points. They are checks on this run, not fifteen independent environments.

Repeat with disposable work

  1. Create an empty test directory, save the heartbeat program there, and start a new named session: herdr --session exit-practice. Use a name that is not already in use.
  2. Inside the pane, change to that directory and run python3 -u heartbeat.py. Leave it a moment to write a few lines.
  3. Press Ctrl+B, release, then q. From your ordinary shell, read the last line of heartbeat.jsonl twice with a short gap. A larger counter under the same PID is evidence of ongoing progress.
  4. Run herdr --session exit-practice again. Observe the continuing output. Press Ctrl+C to stop this test program.
  5. For the restart comparison, run the test program again, add a second empty pane, and detach. Save anything else before stopping the test session with herdr session stop exit-practice.
  6. Open herdr --session exit-practice again. Compare the layout and directory with the heartbeat file. Our file did not keep growing. Finish by stopping this disposable session.

Use only the test session and directory you created. The sample appends to its local file until interrupted; remove your test files when you no longer need them. Your PIDs and line counts will differ.

What this does not prove

We did not reboot, sleep the computer, test a broken network, connect through SSH, upgrade with live handoff, enable pane-history replay, or resume an AI conversation. We did not test Windows or Linux. A program may catch Ctrl+C differently, require its own cleanup, or finish unsuccessfully while you are detached.

The general distinctions match Herdr’s documentation; the exact numbers and drawings come from our own controlled run. Herdr can change these behaviors in later releases. Check your installed version with herdr --version.

Primary references

  1. Official v0.9.5 release — binary and published checksum, released 14 October 2026.
  2. Session state and restore — documented persistence paths.
  3. Configuration — custom keys, shell behavior and optional history.
  4. CLI reference — named session and pane commands.
  5. Pinned configuration path source — XDG separation used in our native test.

About & privacy

StillShell publishes an independent visual explanation of Herdr. It is not an official Herdr site and does not represent any former organisation associated with this domain. Original diagrams, prose and heartbeat example are offered under CC0; upstream software retains its own licence.

The story has no uploads, login, payment, analytics script, cookies or browser storage. Choosing an ending changes only this page. Reloading returns to the detach ending. Cloudflare serves the site and processes ordinary request metadata.

StillShell, WebTraceCheck and CleanTempMail share an operator. Optional outgoing product links contain fixed campaign labels for this site and placement; they contain no user input. Destination products have their own policies and limits.

Corrections: support@cleantempmail.com. Include the version and operation, without credentials or private terminal output.