# CC 2.1.133 Adoption — Group F: OAuth + session + network

Four upstream breaking-fixes in CC 2.1.133 documented across `configure`, `chain-patterns`, `doctor`, and `mcp-patterns`. First group in the M132 milestone (CC 2.1.133 adoption). All four are upstream-side fixes — no OrchestKit behavior change required at our floor (≥ 2.1.138), but doc surfaces now reflect the new guarantees.

## Issues closed 4

Issue | Feature | CC | Category | Skill ref
--- | --- | --- | --- | ---
#1703 | parallel_session_refresh_token_race_fix | 2.1.133 | breaking | configure, chain-patterns, doctor
#1705 | mcp_oauth_proxy_mtls_fix | 2.1.133 | breaking | configure, mcp-patterns, mcp-config
#1706 | mapped_network_drive_add_dir_fix | 2.1.133 | breaking | configure
#1707 | remote_control_stop_interrupt_fix | 2.1.133 | breaking | configure

## What changes

### 1. Parallel-session refresh-token race breaking

### BEFORE 2.1.133

    // 3 worktree-isolated /ork:implement
    //   sessions running concurrently.
    // Refresh token rotates in session A.
    // Sessions B + C race against the
    //   rotation and end up holding the
    //   now-invalidated old token.
    // All three dead-end at 401.

    [A] 401 Unauthorized   ← rotated
    [B] 401 Unauthorized   ← raced
    [C] 401 Unauthorized   ← raced

    // Recovery: claude /login + resume
    // every session manually.

### AT 2.1.133+ (FLOOR 2.1.138)

    // Rotation is serialized across all
    //   sessions sharing the credential.
    // All three see the same fresh token.

    [A] continues  ← fresh token
    [B] continues  ← same fresh token
    [C] continues  ← same fresh token

    // No 401 cascade.
    // Worktree-isolation workflow is
    //   stable for concurrent agents.

### 2. Remote Control stop/interrupt now matches local Esc breaking

### BEFORE 2.1.133

    // claude.ai Remote Control: Stop btn
    [Stop]  → CLI nominally interrupted
            → message queue NEVER advances
            → session wedged until killed

### AT 2.1.133+ (FLOOR 2.1.138)

    // Same path as local Esc
    [Stop]  → current tool/prompt aborts
            → message queue resumes
            → session immediately usable

### 3. MCP OAuth respects `HTTP(S)_PROXY` / `NO_PROXY` / mTLS breaking

### BEFORE 2.1.133

    // MCP transport: proxy-aware
    // MCP OAuth:     bypasses proxy
    //
    // Steps that bypassed the proxy:
    //   - discovery
    //   - dynamic client registration
    //   - token exchange
    //   - token refresh
    //
    // Net: corp-proxy users could
    //   never auth against OAuth-
    //   protected MCP servers.

### AT 2.1.133+ (FLOOR 2.1.138)

    export HTTPS_PROXY=http://proxy.corp:3128
    export NO_PROXY=localhost,.internal
    export NODE_EXTRA_CA_CERTS=/etc/ssl/ca.pem
    export CLAUDE_CODE_MCP_CLIENT_CERT=...
    export CLAUDE_CODE_MCP_CLIENT_KEY=...
    claude

    // Discovery, DCR, token exchange,
    //   token refresh — all routed via
    //   the same proxy + mTLS config
    //   that already handles MCP
    //   transport.

### 4. `--add-dir` works for Windows mapped network drives breaking

### BEFORE 2.1.133

    PS> claude --add-dir Z:\share\project
    // CLI accepts the flag.

    // Read tool on Z:\share\project\f.ts
    [error] path not in allowed directories

    // Misidentified mapped drive as
    //   "not local filesystem" in the
    //   internal permission check.

### AT 2.1.133+ (FLOOR 2.1.138)

    PS> claude --add-dir Z:\share\project
    // Read / Write / Edit all succeed.

    // Also covers SDK additionalDirectories
    //   for programmatic hosts.
    // UNC paths (\\server\share)
    //   work the same way.

## cc-version-matrix entries added 4

parallel_session_refresh_token_race_fix → Parallel sessions no longer 401 after shared-credential refresh-token race
remote_control_stop_interrupt_fix → claude.ai Remote Control stop/interrupt now matches local Esc cancellation
mcp_oauth_proxy_mtls_fix → MCP OAuth full flow respects HTTP(S)_PROXY/NO_PROXY/mTLS
mapped_network_drive_add_dir_fix → --add-dir / SDK additionalDirectories works for Windows mapped network drives

## Files changed

Path | Lines | Why
--- | --- | ---
src/skills/configure/references/cc-version-settings.md | +53 | NEW `## CC 2.1.133 Settings` parent header + 4 subsections (one per issue)
src/skills/configure/references/mcp-config.md | +21 | NEW `## CC 2.1.133 changes` with MCP OAuth proxy/mTLS subsection
src/skills/doctor/references/remediation-guide.md | +14 | "All concurrent sessions 401 simultaneously" recovery entry
src/skills/chain-patterns/references/worktree-agent-pattern.md | +2 | CC 2.1.133 concurrent-session stability callout
src/skills/mcp-patterns/SKILL.md | +2 | CC 2.1.133 MCP OAuth proxy/mTLS callout (OrchestKit in-tree equivalent of building-mcp-server-on-cloudflare)
src/hooks/src/lib/cc-version-matrix.ts | +5 | 4 new feature entries at `minVersion: '2.1.133'`
plugins/ork/... | mirror | Regenerated by `npm run build`
docs/site/content/docs/reference/skills/... | mirror | MDX regen for configure / chain-patterns / doctor / mcp-patterns

## Why doc-only is enough

CC floor is at `2.1.138` in `engines.claudeCode`, so 2.1.133's behavior is already guaranteed at runtime. What was missing: human-readable prose surfacing each fix in the right skill. `configure` owns CC version-settings, `chain-patterns` owns worktree-isolation guidance, `doctor` owns recovery flow, `mcp-patterns` owns OAuth/transport guidance.

## Verification

- `npm run build` — plugins/ regenerated; count drift = 0 (107/37/188 unchanged)
- `npm run test:skills` — structure + rule validation pass
- `npm run test:agents` — 37/37 valid frontmatter
- `npm run test:manifests` — 108 skills delivered, 0 orphans
- `npm run test:security` — 14/14 pass
- `npm run typecheck` — clean

## Group plan

First group in M132 (CC 2.1.133 adoption). M131 (CC 2.1.128–2.1.132) is closed; this kicks off the next milestone.

- F · OAuth + session + network (this PR) — 4 breaking-fixes, parent `## CC 2.1.133 Settings` header introduced