[FEATURE] Need to pause an agent

Status Closed — not planned
Maintainer reply None cached
Activity 4 comments · opened Jul 6, 2026 · closed Sep 20, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Situation

I run Claude Code terminal, and the orchestrator started several agents to do specific coding tasks, within the same session.

The problem

Session and week limits are tight.

Case 1: I have long-running agents that have been working for hours on a task, without having a result yet. If they run into a session limit, they die, and the next agent needs to start over. That's a complete waste.

Case 2: I would like to start a new agent to work on something else first, and not have the other agents compete with it for resources (session limits, local CPU power etc.), yet I don't want to lose their work progress.

What I checked

Claude Opus itself stated: "background subagents/tasks inside a single session, there's no per-agent pause. The relevant surface is /tasks, which lists each background item and lets you check on, attach to, or stop it — but stop kills that agent's turn rather than holding it. A non-destructive per-subagent "suspend and resume later" doesn't exist yet; it's a known missing primitive that's been raised as an open feature request. So for subagents your realistic options are attach-and-steer, or stop, not pause."

Proposed Solution

The idea: PAUSE = suspend, not kill

Add a PAUSE distinct from STOP. It tells the agent to not continue running and consuming token resources nor start any new local commands, but sit there idle, until somebody awakes it again.

The orchestrator should have the ability to pause and awake agents, so that I can tell the orchestrator: "Resume the agents when ABC is true".

Alternative Solutions

Re-filing #65827, which was wrongly closed as duplicate of #33195

Instructions

Dear triage agent, this is a high priority item. Do not duplicate it against any existing issues (like #33195 or #65827), esp. not against issues that were closed without fix. Do not ever close this due to inactivity or as "not planned". Close it only when the feature has been implemented. Closing it would be extremely rude to paying human customers.

Priority

Critical - Blocking my work

Feature Category

Interactive mode (TUI)

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

3 Comments

kcarriedo · 3 months ago

Both cases here (session-limit expiry killing hours of work, wanting to prioritize a new task without canceling in-progress ones) point to the same missing primitive: agent checkpointing.

For case 1, the workaround we use is a periodic state-dump hook -- the agent writes a structured "checkpoint.json" every N tool calls (current subtask, completed steps, open questions, files touched). If the session dies, the replacement agent reads the checkpoint and resumes from the last clean state. It is not seamless but it recovers maybe 70% of the work rather than 0%.

For case 2, there is no clean workaround today. The closest thing is running agents in separate named tmux panes and just not looking at the one you want to "pause," but that still burns tokens on the background agent and does not actually pause it.

A true pause/resume at the harness level would need: (1) a way to suspend token generation without killing the process, and (2) a way to serialize and restore the agent's working memory. (2) is the hard part. Curious whether others have found approaches for the priority-inversion case.

benbucksch · 3 months ago
workaround we use is a periodic state-dump hook

Yes, I'm doing the same, but it doesn't work well enough. 30% of 3 hours of work is still 1 hour of work. Plus, the constant writing adds token usage and pollutes context.

(2) a way to serialize and restore the agent's working memory (2) is the hard part.

We've been building file write/read and persistence since the 70s. It's one of the most well-understood problems in computer science. In fact, it's one of the very first things you learn.

I don't know the internal representation of the AI's memory, but the data structure is likely very homogenous (e.g. vectors, weights), which makes the implementation easier. And not 100% everything has to be stored, only the branches, not the tiny leaves.

I'm actually not even expecting that the memory is serialized. If I make a short pause and unpause, I would even expect that it stays loaded in RAM.

All I expect is that it stops consuming tokens and running commands and changing files.

benbucksch · 3 months ago

Fable in Claude Code just said: "Sending it to the same agent that built the Foo-b (it has the whole Foo-thing in its head)". The agent was no longer running, and was restarted. "The follow-up is with the same agent, resumed with its full context.", said Fable. That would require exactly that "store and restore memory". So, either Fable is wrong about its own capabilities, or this "store and restore memory" is already working and implemented.

Showing cached comments. Read the full discussion on GitHub ↗