Feature: Hot-reload harness (version/plugins) for running background sessions without losing conversation history

Resolved 💬 1 comment Opened Jun 1, 2026 by sheldon Closed Jul 4, 2026

Summary

When a background agent session is running, there is currently no way to upgrade the Claude Code CLI version or update installed plugins/skills mid-session. The only option is to stop the session (losing conversation history) and restart with the updated harness.

Desired behaviour

Allow a running background session to reload its harness — i.e. pick up a new Claude Code CLI version and/or updated plugin/skill definitions — while preserving the existing conversation history and context.

This could look like:

  • A /reload or /update-harness slash command that restarts the underlying process but rehydrates conversation history from the session transcript before resuming.
  • A signal (e.g. SIGUSR1) sent to the background process that triggers a graceful reload.
  • A --reload flag on the claude CLI that, given an existing session/job ID, upgrades the harness and resumes from the saved transcript.

Motivation

Long-running background agents (scheduled routines, multi-step automation jobs) can run for hours or days. During that window:

  • Security or bug-fix releases of Claude Code may be published that users want to apply immediately.
  • Skills/plugins may be updated with new capabilities or fixes.
  • Right now the only recourse is to kill the session, update, and start over — losing all accumulated conversation context.

Suggested approach

  1. Session transcripts are already persisted to disk (.claude/jobs/<id>/). A reload could: stop the current process, upgrade the binary/plugins, start a fresh process, and feed the existing transcript as context before accepting new input.
  2. Alternatively, a "checkpoint + resume" model: write a checkpoint, upgrade, resume from checkpoint — similar to the existing resumeFromRunId in the Workflow tool.

Workaround today

Update the CLI/plugins and wait for the next invocation (only practical for scheduled routines with a short cadence; not helpful for interactive long-running agents).

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗