8. Interrupt, cancel, or kill
These operations stop different things.
None of them rolls back file edits. None proves that every external process, tool side effect, or provider request has stopped.
A. Interrupt the current turn
Use this when the goal is to stop the current attempt and continue the conversation—not to remove the agent.
The demonstrated runtime primitive was AgentSession.abort(), applied to a revived live tan. In that proof, the tan remained attached and idle, then answered another prompt.
That primitive is not an OMP slash command.
Worked scenario: advance a queued correction
The focused tan is streaming and your correction is still queued as steering.
- Verify the exact Tan focus.
- Verify that a message is actually queued.
- Ensure the editor contains no text and no images.
- Press Enter.
The focused input handler requests a turn abort and refreshes pending-message display.
What to check next
- The interrupted turn settles.
- Pending steering may drain into a fresh run.
- The correction appears in the intended Tan conversation.
- The resulting work obeys the new scope.
Important limits
- Empty Enter with no queued message does nothing here.
- Empty Ctrl+Q/Ctrl+Enter does not invoke this abort behavior.
- The queue is not automatically erased.
- A follow-up-only queue can remain waiting after a deliberate user interrupt; do not promise that empty Enter flushes every queue.
- On the initial
/tanrun, settling can lead to ordinary job finalization and parking. Do not assume every turn interruption leaves the original live session attached.
If it parks or returns you to Main, inspect the transcript and queue outcome before continuing it.
B. Cancel the background job
Use this when the initial managed background run is no longer wanted.
Plain-language message — Main only:
Main, refresh the current roster and your background jobs. Identify the exact Tan and backing job for the Lantern Library label audit, with evidence connecting them.
Cancel only that job if it is still running, using its discovered background job ID—not its Tan agent ID. If it has already settled or the mapping is ambiguous, take no destructive action and report the state.
Afterward, report the cancellation outcome, the Tan's current lifecycle state, and any file or external-process effects that still need inspection. Do not roll back files.
Hub tool arguments — only after current discovery:
{"op":"cancel","ids":["<discovered-job-id>"]}
Expected observation: a successfully cancelled running job becomes cancelled. Cleanup then unwinds.
In the supplied runtime proof, cancelling the initial Tan job resulted in:
- A cancelled job.
- The Tan registration becoming absent.
- Its transcript remaining on disk at observation.
Crucial boundary: this initial Tan signal-abort path does not establish the same durable tombstone as explicit kill. Later persisted discovery can therefore differ. Do not say “a cancelled tan can never reappear.”
If cancellation reports not found or already completed, refresh discovery. Do not increment the job number and try again.
C. Explicitly kill the agent
Use this when you want the Tan registration to be terminal, not merely its current job cancelled.
Worked scenario: kill a finished or revived tan
- Open the runtime Agent Hub.
- Select the exact Tan ID.
- Inspect its assignment and lineage.
- Press x only when that row is the intended target.
The source handler attempts to abort a running session, then calls explicit lifecycle release with tombstone:true.
Treat x as immediately actionable; the shown handler does not add a separate confirmation step.
Expected result of a successful explicit kill
- The agent becomes terminal
aborted. - Its live session is detached and disposed.
- A
.tombstonesidecar is written beside its transcript. - The transcript is retained for reading.
- Revival is refused.
The durable marker is what lets later persisted discovery preserve the terminal decision rather than treating the remaining transcript as a fresh parked agent.
If the Hub displays an error, or the row changed during the operation, recheck the outcome. Do not infer a successful durable kill from pressing the key alone.
The job can tell a different story: x does not itself call background-job cancellation. An initial job may settle separately, and a previously completed job stays completed. A later settlement notice is not by itself proof that the killed agent is live again.
D. Understand the Hub cancel fallback
There is an additional behavior worth knowing before supplying an ID to hub cancel.
When the supplied ID does not identify a visible job, the Hub can try to cancel an agent registration with that exact ID. For a caller with an identity, the shown check allows its direct children, not arbitrary descendants or other agents’ children.
This fallback aborts/disposes and performs a plain release or unregister. It does not request tombstone:true.
Therefore:
- The lower-level job manager rejects a Tan ID as the wrong job ID; the runtime proof demonstrated that.
- The higher-level Hub tool may still act on that Tan ID through its registration fallback.
- A “cancelled agent” receipt is not proof that the original
bg_…job was cancelled. - A plain registration removal is not equivalent to the explicit x/tombstone path.
For an intentionally removed, jobless child, this fallback is available:
{"op":"cancel","ids":["<discovered-direct-child-tan-id>"]}
This is a Hub tool argument example, not a recommended substitute for explicit kill when durable terminal intent matters.
E. “Pause,” process shutdown, and undo are separate needs
No Tan-specific pause/resume slash interface is established here.
A message saying “stop editing and wait” is a behavioral request to the model—not a guaranteed runtime freeze. If you need stronger stopping, choose job cancellation or explicit kill and verify the outcome.
If the tan started a supervised process:
- Have Main discover the actual process name.
- Inspect its description, project, command, and ownership evidence.
- Stop it through the process-control surface if that is also intended.
Hub process operations such as ps, describe, logs, and stop address name, not a Tan ID or background-job ID. Process restart/persistence options are not Tan options.
To undo edits, inspect the shared working tree and make a separate, reviewed recovery plan. Never assume cancelling a tan restores the pre-launch files.
Tangent work and live control · Source chapter: tan/8-interrupt-cancel-or-kill. Original evidence remains scoped to its recorded snapshot.