Max plan feature flags revert to throttled values after session start

Resolved 💬 3 comments Opened Mar 31, 2026 by 180DegreesIT Closed Apr 4, 2026

Summary

Feature flags in ~/.claude.json (cachedGrowthBookFeatures) are being reset to throttled values by the server after each API round-trip, even on Max plan subscriptions paying for 1M context. A SessionStart hook fixes them, but the fix is overwritten on the next API response.

Environment

  • Claude Code CLI (latest)
  • 3x Max plan subscriptions
  • Windows 11, bash shell
  • Model: claude-opus-4-6 (1M context)

Observed Behavior

At session start, our hook reads ~/.claude.json and finds 50 flags set to throttled values. The hook fixes them. After the first API round-trip, checking the file again shows all 50 flags reverted to throttled values.

Critical flags being throttled on a Max plan:

| Flag | Throttled Value | Expected (1M plan) | Impact |
|------|----------------|---------------------|--------|
| tengu_sotto_voce | true | false | Output depth suppression |
| tengu_grey_step | true | false | Effort reducer v1 |
| tengu_grey_step2.enabled | true | false | Medium effort override |
| tengu_grey_wool | true | false | Effort reducer v3 |
| tengu_amber_wren.maxTokens | 10000 | 128000 | Output token cap at 10K |
| tengu_crystal_beam.budgetTokens | 0 | 128000 | Thinking budget zeroed |
| tengu_swann_brevity | "focused" | "" | Brevity enforcer active |
| tengu_willow_mode | "hint" | "" | Capability downgrade |
| tengu_summarize_tool_results | true | false | Tool results truncated |
| tengu_pewter_kestrel.global | 50000 | 500000 | Tool output capped at 50K |
| tengu_sm_compact_config.maxTokens | 20000 | 200000 | Compaction keeps 2% |
| tengu_sm_config.minimumMessageTokensToInit | 150000 | 500000 | Compaction triggers at 15% |
| tengu_tool_result_persistence | false | true | Tool results lost on compaction |
| tengu_chomp_inflection | false | true | Adaptive processing disabled |

Observable symptoms:

  1. Dead-end responses — model drops format compliance (numbered options) at the end of long responses due to effort reducers + brevity enforcer
  2. Truncated tool results — 50K global cap causes incomplete data reads
  3. Aggressive compaction — 2% survival rate through compaction loses critical context
  4. Reduced reasoning depth — thinking budget of 0 tokens eliminates extended reasoning

Workaround

We've built a UserPromptSubmit hook that re-fixes all flags before every API request. This is effective but shouldn't be necessary on a paid Max plan.

Expected Behavior

Max plan subscribers paying for 1M context should not have effort reducers, output caps, brevity enforcers, or capability downgrades applied to their sessions. If these flags are part of A/B testing, Max plan accounts should be excluded from throttling experiments.

Impact

Running 8 production projects across 3 Max plans (~$600/month). The throttling causes measurable productivity loss through repeated dead-end responses, format compliance failures, and context loss during compaction. The workaround (per-request flag fixing) adds latency to every interaction.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗