Group of 2 Use it now Notable
The self-hosted Claude Code runner can now snapshot the operator's config directory and seed it into every session, on disk or in memory
What
The self-hosted runner (the claude runner binary used for hosted/CI-style session farms) can now capture a snapshot of the operator's host config directory at startup and seed it into every session's CLAUDE_CONFIG_DIR.
- The snapshot covers
settings.json,settings.local.json,CLAUDE.md,hooks/,skills/,plugins/,agents/, and the.claude.jsonmcpServersentry. - Mode is chosen with the new
SELF_HOSTED_RUNNER_HOST_CONFIG_SNAPSHOTenvironment variable (also settable via--host-config-snapshot <disk|memory>), acceptingdiskormemorycase-insensitively and defaulting todiskif unset or blank. - In
diskmode (the default), the config directory is copied once into a runner-owned directory and its file hashes are checked against an in-memory manifest at every session start, with no size limit; if tampering is detected, sessions fail and the runner must be restarted. - In
memorymode, the config is held on the heap, capped at 64 MiB; sessions silently start without host config once that cap is exceeded. - The source directory defaults to
~/.claude, can be redirected or disabled (empty directory) viaSELF_HOSTED_RUNNER_HOST_CONFIG_DIR, and a relatedCLAUDE_CODE_PLUGIN_SEED_DIRvariable can pre-populate large plugin sets.
Why
This lets operators of self-hosted runner fleets give every session a consistent, verified copy of shared settings, hooks, skills, plugins and agents, while catching tampering with the on-disk snapshot before it can affect a session.
One source agreesOne thing we can check says the same as this entry.
Anthropic's release notes agree
Fixed self-hosted runner sessions silently losing all host config (settings, skills, plugins, MCP servers) when the host config directory…