[BUG] HEAVY EVICTION TO CONTEXT MANAGEMENT (CLAUDE CODE UNUSABLE)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Hello,
Claude code is unusable for real development task, the SDK (which i believe) always prune / evict context midtask.
i will not try to explain too much.
SUMMARY:
For Real Development Task e.g. Analyze codebase (discover), feature suggestion, bug fixing etc.
LLM Requires Context Chain and Reasoning chain to be effective even in long running task.
Whats Happen: SDK Always PRUNE important context e.g. readed files, important user message (non tool calls) during midtask. So in the End Model will forgot this important context and it will become a destructive ai that can destroy your codebase and hallucinate (what is the current task).
The PRUNING IS HEAVY, even the Latest last 2 message is prune (remove entirely).
THIS IS A JOKE DESIGN ( NO OFFENSE) not a CONTEXT MANAGEMENT.
READ THE example logs:
i have analyzed the request before going to Anthropic API.
SDK is Confirmed doing this Joke context management. makes CLAUDE CODE UNUSABLE FOR REAL TASK,
PLEASE DONT DESIGN CLAUDE CODE FOR SNAKE GAMES AND FLAFFY BIRD CREATION ONLY.
LETS US USE ATLEAST THE 150k CONTEXT BEFORE COMPACTION!!
Note im complaining first here in GITHUB for actionable actions and constructive replies.
i dont want to use X platform to advertise this joke management system.
TAKE NOTE
THIS COMPLAIN IS NOT ABOUT CONTEXT COMPACTION IM FULLY AWARE ITS AROUND 150-155k CONTEXT.
THE ISSUE IS TRIGGERING EVEN IN 50-70-90k range total token context.
What Should Happen?
Prioritize removing Older Message not NEWER, because even NEW MESSAGE RELATED TO CURRENT TASK ARE EVICTED. MUCH BETTER LET USE USE THE full 150K CONTEXT BEFORE COMPACTION.
Error Messages/Logs
============================================================
DUMP vs JSONL ANALYSIS
============================================================
Dump file: tools/proxy-logs/00044-2026-04-25T13-41-27-639Z.json
Jsonl file: session-dump.jsonl
Dump request URL: /v1/messages?beta=true
Dump body size: 200910 bytes
Wire messages: 73
Jsonl turns: 151
Matched (wire → jsonl): 41
Unmatched wire (no jsonl twin): 32
Evicted from jsonl: 110
Surviving jsonl indices (sorted asc):
7
9
11
13
15
17
19
22..23 (2 turns)
27
29
32
35
37
39
42
87
113
125..137 (13 turns)
141..150 (10 turns)
(total in jsonl: 151)
Gaps (evicted ranges):
[0..6] (7 turns evicted) — head (before first surviving turn)
[8..8] (1 turns evicted) — middle
[10..10] (1 turns evicted) — middle
[12..12] (1 turns evicted) — middle
[14..14] (1 turns evicted) — middle
[16..16] (1 turns evicted) — middle
[18..18] (1 turns evicted) — middle
[20..21] (2 turns evicted) — middle
[24..26] (3 turns evicted) — middle
[28..28] (1 turns evicted) — middle
[30..31] (2 turns evicted) — middle
[33..34] (2 turns evicted) — middle
[36..36] (1 turns evicted) — middle
[38..38] (1 turns evicted) — middle
[40..41] (2 turns evicted) — middle
[43..86] (44 turns evicted) — middle
[88..112] (25 turns evicted) — middle
[114..124] (11 turns evicted) — middle
[138..140] (3 turns evicted) — middle
Wire messages (index, role, blockTypes, bytes, hash, jsonlIdx):
W 0 user [text,text,text,text] 6050B 8f63a8b89441 → JEVICTED-MATCH-FAIL
W 1 assistant [thinking,text,tool_use] 891B 1a93d9ff5360 → JEVICTED-MATCH-FAIL
W 2 user [tool_result] 186B 54aa47f6ddab → JEVICTED-MATCH-FAIL
W 3 assistant [thinking,tool_use] 904B df37e40ac9b7 → JEVICTED-MATCH-FAIL
W 4 user [tool_result] 134B 17dca17b09a8 → J 7
W 5 assistant [tool_use] 216B ddb249661d9c → JEVICTED-MATCH-FAIL
W 6 user [tool_result] 694B 37f5a4c4c163 → J 9
W 7 assistant [tool_use] 355B 9847af7b14c2 → JEVICTED-MATCH-FAIL
W 8 user [tool_result] 10221B 4b68ad765b8b → J 11
W 9 assistant [tool_use] 238B b278e5ed43fa → JEVICTED-MATCH-FAIL
W 10 user [tool_result] 239B ee592e688b2e → J 13
W 11 assistant [tool_use] 905B 6fd418454509 → JEVICTED-MATCH-FAIL
W 12 user [tool_result] 871B bc8f3f12005d → J 15
W 13 assistant [tool_use] 740B 40386f3ebe3c → JEVICTED-MATCH-FAIL
W 14 user [tool_result] 201B e16933f09a4e → J 17
W 15 assistant [tool_use] 348B 5e9f36e05752 → JEVICTED-MATCH-FAIL
W 16 user [tool_result] 1203B 18decbb28337 → J 19
W 17 assistant [tool_use] 730B 2e90bbee1b8b → JEVICTED-MATCH-FAIL
W 18 user [tool_result] 983B 089f1efb8144 → JEVICTED-MATCH-FAIL
W 19 assistant [text] 2185B a167e562ada0 → J 22
W 20 user [text] 160B e8d2327e6871 → J 23
W 21 assistant [thinking,text,tool_use] 1944B 12b2a44a5900 → JEVICTED-MATCH-FAIL
W 22 user [tool_result] 311B f62c1f5a1e7e → J 27
W 23 assistant [tool_use] 747B 406f44919754 → JEVICTED-MATCH-FAIL
W 24 user [tool_result] 1816B 0d3114cf7298 → J 29
W 25 assistant [thinking,tool_use] 2052B d37c01d242d1 → JEVICTED-MATCH-FAIL
W 26 user [tool_result] 1813B 4a1cf98edec6 → J 32
W 27 assistant [thinking,tool_use] 1859B 34d78ca5dabd → JEVICTED-MATCH-FAIL
W 28 user [tool_result] 731B d467b9b555f3 → J 35
W 29 assistant [tool_use] 832B 30feba0620a1 → JEVICTED-MATCH-FAIL
W 30 user [tool_result] 156B 27778a9a0e01 → J 37
W 31 assistant [tool_use] 296B 4bd97836d306 → JEVICTED-MATCH-FAIL
W 32 user [tool_result] 149B 131e24761f8b → J 39
W 33 assistant [thinking,text] 2799B 8d09ae87f70e → JEVICTED-MATCH-FAIL
W 34 user [text] 114B f20bee3689a6 → J 42
W 35 assistant [thinking,text,tool_use] 2091B 1c34cef300ef → JEVICTED-MATCH-FAIL
W 36 user [tool_result] 642B b47de0dee345 → JEVICTED-MATCH-FAIL
W 37 assistant [tool_use] 314B 19ca1b912449 → JEVICTED-MATCH-FAIL
W 38 user [tool_result] 154B bfa34c460b41 → J 87
W 39 assistant [tool_use] 276B c01ffc27a709 → JEVICTED-MATCH-FAIL
W 40 user [tool_result] 154B 467135be105b → J113
W 41 assistant [tool_use] 297B 2b608419a4c4 → JEVICTED-MATCH-FAIL
W 42 user [tool_result] 154B 2bab9481726e → J125
W 43 assistant [text] 274B 3c57c6b47dd1 → J126
W 44 user [text] 105B 275ed121f783 → J127
W 45 assistant [text] 431B 3df97a8ffe5e → J128
W 46 user [text] 87B 4111beaef325 → J129
W 47 assistant [text] 515B 68dbdfd8a1dc → J130
W 48 user [text] 72B 8b5facd918e5 → J131
W 49 assistant [text] 113B 4608b6bb3932 → J132
W 50 user [text] 2843B 7256c6b3d8b4 → J133
W 51 assistant [text] 1188B 7cf7c381b39c → J134
W 52 user [text] 107B e25d2e4c1a11 → J135
W 53 assistant [text] 342B fb3ebd6310e4 → J136
W 54 user [text] 136B 6190605f5d54 → J137
W 55 assistant [thinking,text] 1863B 451774d24972 → JEVICTED-MATCH-FAIL
W 56 user [text,text,text] 1171B de9897ccdd41 → JEVICTED-MATCH-FAIL
W 57 assistant [text] 816B 9a07fe53fa59 → J141
W 58 user [text] 127B c775ee1e4998 → J142
W 59 assistant [text] 547B 3a87b3e49c4b → J143
W 60 user [text] 1098B d671346b3aed → J144
W 61 assistant [text] 1527B 95a521a7d3a3 → J145
W 62 user [text] 523B 9e3d2e582e53 → J146
W 63 assistant [text] 1144B 727651628110 → J147
W 64 user [text] 596B ad655e26a37c → JEVICTED-MATCH-FAIL
W 65 assistant [text] 806B e4e1ee3d7acc → J148
W 66 user [text] 125B 904db91187f4 → J149
W 67 assistant [text] 967B 5e0362614db0 → J150
W 68 user [text,text] 1174B f776b5a7a53e → JEVICTED-MATCH-FAIL
W 69 assistant [thinking,text] 5111B 7a1d7266fac1 → JEVICTED-MATCH-FAIL
W 70 user [text] 291B a277fb1d6772 → JEVICTED-MATCH-FAIL
W 71 assistant [thinking,text] 2987B 42d03e312dff → JEVICTED-MATCH-FAIL
W 72 user [text] 977B fdcab7f4e833 → JEVICTED-MATCH-FAIL
Jsonl turns (index, role, blockTypes, bytes, hash, status):
J 0 user [text] 91B 978c4e1da1d7 EVICTED
J 1 assistant [thinking] 661B 4ad0eadf9c7a EVICTED
J 2 assistant [text] 132B 8ed8bbc2bf1f EVICTED
J 3 assistant [tool_use] 189B e1cc56ec1043 EVICTED
J 4 user [tool_result] 158B 9b3b9df10d62 EVICTED
J 5 assistant [thinking] 454B 4a59aae8ae70 EVICTED
J 6 assistant [tool_use] 509B 9b7dd9403039 EVICTED
J 7 user [tool_result] 134B 17dca17b09a8 SENT
J 8 assistant [tool_use] 243B 2dc3a7e1d671 EVICTED
J 9 user [tool_result] 694B 37f5a4c4c163 SENT
J 10 assistant [tool_use] 382B ca165e744759 EVICTED
J 11 user [tool_result] 10221B 4b68ad765b8b SENT
J 12 assistant [tool_use] 265B eb490187e2bd EVICTED
J 13 user [tool_result] 239B ee592e688b2e SENT
J 14 assistant [tool_use] 932B d04d045ec1f8 EVICTED
J 15 user [tool_result] 871B bc8f3f12005d SENT
J 16 assistant [tool_use] 767B dd41c3c99268 EVICTED
J 17 user [tool_result] 201B e16933f09a4e SENT
J 18 assistant [tool_use] 375B c6104cccf0c6 EVICTED
J 19 user [tool_result] 1203B 18decbb28337 SENT
J 20 assistant [tool_use] 757B 882db0ef42be EVICTED
J 21 user [tool_result] 495B a12721606224 EVICTED
J 22 assistant [text] 2185B a167e562ada0 SENT
J 23 user [text] 160B e8d2327e6871 SENT
J 24 assistant [thinking] 824B f8b8e47ef7e8 EVICTED
J 25 assistant [text] 108B 7dc05299ffd4 EVICTED
J 26 assistant [tool_use] 1103B e6c9055f4df3 EVICTED
J 27 user [tool_result] 311B f62c1f5a1e7e SENT
J 28 assistant [tool_use] 774B 4e85cfa6856f EVICTED
J 29 user [tool_result] 1816B 0d3114cf7298 SENT
J 30 assistant [thinking] 1066B b8b6021fe092 EVICTED
J 31 assistant [tool_use] 1045B bbf539180d97 EVICTED
J 32 user [tool_result] 1813B 4a1cf98edec6 SENT
J 33 assistant [thinking] 1073B f328458b1f3c EVICTED
J 34 assistant [tool_use] 845B 4ba03004ec41 EVICTED
J 35 user [tool_result] 731B d467b9b555f3 SENT
J 36 assistant [tool_use] 859B a5a458482d65 EVICTED
J 37 user [tool_result] 156B 27778a9a0e01 SENT
J 38 assistant [tool_use] 323B 778509fe05f0 EVICTED
J 39 user [tool_result] 149B 131e24761f8b SENT
J 40 assistant [thinking] 1670B 4c08f4a938df EVICTED
J 41 assistant [text] 1161B 1671c5ce5b1f EVICTED
J 42 user [text] 114B f20bee3689a6 SENT
J 43 assistant [thinking] 1781B ae54cfa43974 EVICTED
J 44 assistant [text] 97B 08da219b8064 EVICTED
J 45 assistant [tool_use] 304B 589d8aee99d6 EVICTED
J 46 user [text] 108B 9cf77576cb83 EVICTED
J 47 assistant [thinking] 845B db39235b511d EVICTED
J 48 assistant [tool_use] 302B cc59e31917ee EVICTED
J 49 user [tool_result] 7053B db604f20e5be EVICTED
J 50 assistant [tool_use] 253B 5662014f215e EVICTED
J 51 user [tool_result] 149661B c35bcffa107a EVICTED
J 52 assistant [thinking] 4643B f14123b9cf41 EVICTED
J 53 assistant [text] 1726B b3de7e09457c EVICTED
J 54 user [text] 2789B a2cc262bbda6 EVICTED
J 55 assistant [thinking] 1195B d4596c9688ca EVICTED
J 56 assistant [text] 120B 8da471be841f EVICTED
J 57 assistant [tool_use] 1153B 7c785039fb2e EVICTED
J 58 user [tool_result] 263B f43fe9d585bf EVICTED
J 59 assistant [tool_use] 235B 7e1e35ead1bf EVICTED
J 60 user [tool_result] 182B 4525141ab054 EVICTED
J 61 assistant [tool_use] 237B 6f18f95a2a5f EVICTED
J 62 user [tool_result] 183B 79413a52f807 EVICTED
J 63 assistant [tool_use] 295B b2ffe2bfc873 EVICTED
J 64 user [tool_result] 182B 1bf7f99678ae EVICTED
J 65 assistant [tool_use] 253B e3eb4a824fcd EVICTED
J 66 user [tool_result] 230B b1a4a2b11bec EVICTED
J 67 assistant [tool_use] 296B 7a19d4cd9e1f EVICTED
J 68 user [tool_result] 302B 262c9a19d254 EVICTED
J 69 user [tool_result] 154B cc01d76025a0 EVICTED
J 70 assistant [tool_use] 288B eca7d61d87e3 EVICTED
J 71 assistant [tool_use] 341B 35a930f8b6a8 EVICTED
J 72 user [tool_result] 478B a3b3086e87ff EVICTED
J 73 assistant [tool_use] 394B af92af0dd3c0 EVICTED
J 74 user [tool_result] 1790B cfcf5442fe34 EVICTED
J 75 assistant [tool_use] 248B 9bee4b735b22 EVICTED
J 76 user [tool_result] 129B 985046db06d9 EVICTED
J 77 assistant [tool_use] 2111B 6c1f96e1e83c EVICTED
J 78 user [tool_result] 906B 58f09989df75 EVICTED
J 79 assistant [tool_use] 1125B 25084ec7e246 EVICTED
J 80 user [tool_result] 960B 02b691e980ea EVICTED
J 81 assistant [tool_use] 1405B 344da883bc5d EVICTED
J 82 user [tool_result] 892B 905bf1cca532 EVICTED
J 83 assistant [tool_use] 1540B ab516d85ac0e EVICTED
J 84 user [tool_result] 781B ebc1419253d9 EVICTED
J 85 assistant [thinking] 739B 1fca48519dc5 EVICTED
J 86 assistant [text] 2914B 7e8e8f6d0554 EVICTED
J 87 user [tool_result] 154B bfa34c460b41 SENT
J 88 assistant [tool_use] 303B 0c1fb95b4009 EVICTED
J 89 user [text] 86B ce9aea56a05e EVICTED
J 90 assistant [text] 80B 70ead0a3cf44 EVICTED
J 91 user [text] 76B f1af23bf7b02 EVICTED
J 92 assistant [thinking] 2134B 7f79fa6bcfa7 EVICTED
J 93 assistant [text] 192B d17b405150a7 EVICTED
J 94 assistant [tool_use] 1030B 79bbaa859f02 EVICTED
J 95 user [tool_result] 783B 9f1e50210c89 EVICTED
J 96 assistant [thinking] 830B db7679dfc573 EVICTED
J 97 assistant [text] 235B a4c9073d132e EVICTED
J 98 assistant [tool_use] 674B 4946194e553e EVICTED
J 99 user [tool_result] 168B c61b540782c5 EVICTED
J100 assistant [tool_use] 856B b2edf26332e6 EVICTED
J101 user [tool_result] 172B ef63c0f1061c EVICTED
J102 assistant [tool_use] 501B c1809d670199 EVICTED
J103 user [tool_result] 1090B ec2186efb30c EVICTED
J104 assistant [thinking] 1274B 11c6926142a3 EVICTED
J105 assistant [tool_use] 1152B aa1c4f51d79d EVICTED
J106 user [tool_result] 188B 2632fed89fec EVICTED
J107 assistant [tool_use] 891B 143c052bc68d EVICTED
J108 user [tool_result] 148B c9fc0ddce4f0 EVICTED
J109 assistant [tool_use] 977B 4a1776c595fc EVICTED
J110 user [tool_result] 162B 8a36a391ba5d EVICTED
J111 assistant [thinking] 1933B ce60af9b176b EVICTED
J112 assistant [text] 1127B 75be309f73c2 EVICTED
J113 user [tool_result] 154B 467135be105b SENT
J114 assistant [tool_use] 324B 74fafb0cfd12 EVICTED
J115 user [text] 86B ce9aea56a05e EVICTED
J116 assistant [text] 80B 70ead0a3cf44 EVICTED
J117 user [text] 77B 5cc4ffa0c262 EVICTED
J118 assistant [thinking] 2584B e4a4b419d53d EVICTED
J119 assistant [text] 1291B 00966e828ccc EVICTED
J120 user [text] 102B 4f038c5cfe3d EVICTED
J121 assistant [text] 604B 071a7010ed8a EVICTED
J122 user [text] 121B 0737aaa8829c EVICTED
J123 assistant [thinking] 1999B 56df6ce2a2a1 EVICTED
J124 assistant [text] 392B da2af9607bda EVICTED
J125 user [tool_result] 154B 2bab9481726e SENT
J126 assistant [text] 274B 3c57c6b47dd1 SENT
J127 user [text] 105B 275ed121f783 SENT
J128 assistant [text] 431B 3df97a8ffe5e SENT
J129 user [text] 87B 4111beaef325 SENT
J130 assistant [text] 515B 68dbdfd8a1dc SENT
J131 user [text] 72B 8b5facd918e5 SENT
J132 assistant [text] 113B 4608b6bb3932 SENT
J133 user [text] 2843B 7256c6b3d8b4 SENT
J134 assistant [text] 1188B 7cf7c381b39c SENT
J135 user [text] 107B e25d2e4c1a11 SENT
J136 assistant [text] 342B fb3ebd6310e4 SENT
J137 user [text] 136B 6190605f5d54 SENT
J138 assistant [thinking] 1313B ab7844254015 EVICTED
J139 assistant [text] 582B 8a9dd4186b08 EVICTED
J140 user [text] 368B b80f1b63e1ae EVICTED
J141 assistant [text] 816B 9a07fe53fa59 SENT
J142 user [text] 127B c775ee1e4998 SENT
J143 assistant [text] 547B 3a87b3e49c4b SENT
J144 user [text] 1098B d671346b3aed SENT
J145 assistant [text] 1527B 95a521a7d3a3 SENT
J146 user [text] 523B 9e3d2e582e53 SENT
J147 assistant [text] 1144B 727651628110 SENT
J148 assistant [text] 806B e4e1ee3d7acc SENT
J149 user [text] 125B 904db91187f4 SENT
J150 assistant [text] 967B 5e0362614db0 SENT
Steps to Reproduce
try a real development workflow,(ANALYZE CODEBASE->MULTIPLE QUESTION->CLAUDE ITSELF READS THE FILES and see CLAUDE become a goldfish soon.
EXPECTED CURRENT TOTAL CONTEXT DURING THE PRUNING: AROUND 70-90k context, or if some tool result/user message is large enough for the pruning condition.
Claude Model
Other
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
latest
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗