Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.309 ·

Self-hosted runners run code reviews in a locked-down mode

Code-review sessions on self-hosted runners get no local settings or repository folder, and must receive their tokens on file descriptors 4 and 5

Group of 3 You'll notice Improvements
JSON All of v2.1.309
You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
SettingsArea: what it touches
ImprovementsKind: in v2.1.309,
ImprovementsSection of the release

Unclear The new condition that clears the setting sources is not identified.

What

A self-hosted runner is a machine you run yourself that starts Claude Code sessions for the web. Sessions it recognises as a code review are now handled specially.

The runner refuses to start a code review when:

  • it is started with --debug-token-dir
  • it runs on Windows
  • --capacity is above 1
  • it cannot make itself non-dumpable, meaning protected from having its memory copied out

Otherwise the Claude Code process it starts for the review:

  • gets no repository passed as --add-dir
  • loads no user, project or local settings, so nothing from that machine's Claude Code config (it is started with an empty --setting-sources= and a filtered set of arguments)
  • gets no session token file
  • receives its session and inference tokens on file descriptors 4 and 5 (numbered channels opened by the parent process) instead of in its environment variables

The hook that runs after the session no longer receives the session access token for reviews.

On its side, Claude Code in code-review mode stops with "[code review] Not starting: in a code review Claude Code must get its two tokens on file descriptors 4 and 5" unless it can make itself non-dumpable and the tokens arrive on the descriptors named by CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR and CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR, with no CLAUDE_CODE_SESSION_ACCESS_TOKEN or CLAUDE_CODE_OAUTH_TOKEN in the environment.

Startup also gained a new condition that clears the setting sources, the same thing --restricted does. Before, only --restricted or one existing check did this.

Why

If you operate a self-hosted runner, code reviews will be declined on Windows, with --debug-token-dir, or with --capacity above 1. In the setups that do run them, tokens are kept out of the review process's environment and the machine's own Claude Code settings are not used.

Read from
What the documentation says
--restricted Choose a permission mode modified, high confidence * Markdown files in the project's [auto memory](/docs/en/memory.md#storage-location) directory, such as `~/.claude/projects/<project>/memory/`, in a session started without `--restricted` see the edit
--setting-sources Configure permissions modified, high confidence The Agent SDK's [`additionalDirectories`](/docs/en/agent-sdk/typescript#options) option in TypeScript and [`add_dirs`](/docs/en/agent-sdk/python#claudeagentoptions) option in Python receive the exceptions too, even though the TypeScript op… see the edit
--setting-sources Extend Claude with skills modified, high confidence * A session where your organization's managed settings [lock skills to plugin sources](/docs/en/settings-reference.md#strictpluginonlycustomization-skills), or one you start with a [`--setting-sources`](/docs/en/cli-reference#cli-flags) li… see the edit
How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtThe new condition that clears the setting sources is not identified.
Anthropic's documentation agrees--restricted on Choose a permission mode

See this entry in the whole of v2.1.309 →

Feedback