# A Session that was not ended

`begin` refuses (exit 1) while the context still names a Session that the daemon reports as active, and also when it
cannot confirm that Session ended. It never ends a Session for you; its message names both ways: `memprove end
--reason <TEXT>` for your own, and a Session someone else left open is ended with `memprove end --abandoned --reason
<why>`. A Session someone else left is ended with `memprove session end <SESSION_ID> --abandoned --reason <why>`
from any context. The Pack says how before you try: a `Session k … not ended (…)` line of a Session that is not the
reader's own ends with

```text
; end it before taking over: memprove session end <SESSION_ID> --abandoned --reason <why> (MCP: end {session:<k>, abandoned:true})
```

(the program is the absolute path of `memprove` when `PATH` does not find it). Your own Session, the one your
context names, has no such ending: end it with a plain `end`. A Session that was not ended may still be running;
"Unattended takeover" says when an unattended client may end it. The `session.crashed` record names who ended it: the
ender's own Session and declared agent, so the Pack's line later reads `ended abandoned … ; ended by Session <j>` (or
`; ended by agent「<name>」(<role>)`).
