# Pause a session

Pause an OrchaJS session with .pause() and continue the same durable conversation later.

Source: https://orcha.sh/docs/sessions/pause
Markdown: https://orcha.sh/docs/sessions/pause.mdx

Use `.pause()` to safely stop active work:

```ts
const session = await orcha.supportAgent.pause(sessionId);

console.log(session.status);
// "paused"
```

Orcha preserves what happened before the pause. You can continue the same
session later.

## Continue later

```ts
const result = await orcha.supportAgent.resume(sessionId, {
  content: "Continue, but keep the answer under three bullets.",
}).result;

if (result.status === "completed") {
  console.log(result.output);
}
```

If the session is waiting for a client action, return its tool results
instead. A new message cannot skip pending client actions.

## What gets paused

- Active provider work is aborted.
- Active child-agent work is paused too.
- Streamed output is preserved as an incomplete assistant message.
- `run.paused` and `session.paused` events are recorded.
- The returned snapshot has `status: "paused"` and `runStatus: "paused"`.

Calling `.pause()` on an already paused session safely returns its current
snapshot.

## API reference

```ts
pause(sessionId: string): Promise<SessionSnapshot>
```

- `sessionId` — the session to stop.
- The promise waits until active work has stopped and durable pause events
  have been saved.
- It resolves with the complete
  [`SessionSnapshot`](/docs/sessions/get).
- Calling it again is idempotent: an already paused session returns its
  current snapshot.
- `session_not_found` is thrown when the ID does not belong to this agent.

Pausing does not delete the session or its output. Resume it with
[`resume()`](/docs/sessions/resume).
