[HN Gopher] Claude Code CLI broken
___________________________________________________________________
Claude Code CLI broken
Author : sneilan1
Score : 79 points
Date : 2026-01-07 20:25 UTC (2 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| indigodaddy wrote:
| Maybe try opencode
| stavros wrote:
| Is it better than CC? Can it use my subscription, or is it API-
| only? I've seen it mentioned, but not many people elaborate on
| the performance.
| Loeffelmann wrote:
| You can use subscriptions.
|
| I like it but I am not too deep into the whole agentic coding
| business.
| viraptor wrote:
| It's about the same as CC. You can use subscriptions and API.
| It works well with basically all the providers as well - no
| need for hacks over Claude-like endpoints. Most big plugins
| I've dealt with support both CC and OC at the same time.
| mkagenius wrote:
| Last I tried, it wasn't. In that vein you can use Qwen code
| too.
| Squarex wrote:
| I have used it with antigravity subscription and it felt
| worse than antigravity itself. Notably the planning was way
| worse.
| indigodaddy wrote:
| Are the Opus limits with AG/AI Pro plan still quite good?
| Squarex wrote:
| I have hit the limits several times already, but it
| resets every 5 hours.
| joflicu wrote:
| You can use opencode with your existing subscription by
| hooking it correctly via "opencode auth login".
| convenwis wrote:
| This is interesting because Anthropic seems to allow
| Opencode to do this but no one else. And the lead on
| opencode won't comment (https://github.com/anomalyco/openco
| de/issues/417#issuecommen...).
|
| I am curious what the logic here is.
| stavros wrote:
| Very interesting, thanks! Hopefully it'll allow me to
| switch between CC and Codex easily too.
| someguyiguess wrote:
| What's the advantage of using a third party tool? What extra
| functionality does it have?
| behnamoh wrote:
| I don't like the main developer (dax). He is too arrogant and
| self-righteous.
| Squarex wrote:
| I am not saying that he is not, but do you have any
| references or dramas?
| nexawave-ai wrote:
| It has over 1,400 open issues and over 600 open pull requests.
| That doesnt inspire much confidence in me to use this tool.
| thehamkercat wrote:
| Claude code has more than 5000 Open issues
| phyrex wrote:
| workaround from the issue discussion:
|
| ``` Problem: Claude Code 2.1.0 crashes with
| Invalid Version: 2.1.0 (2026-01-07) because the CHANGELOG.md
| format changed to include dates in version headers (e.g., ##
| 2.1.0 (2026-01-07)). The code parses these headers as object keys
| and tries to sort them using semver's .gt() function, which can't
| parse version strings with date suffixes. Affected
| functions: W37, gw0, and an unnamed function around line 3091
| that fetches recent release notes. Fix: Wrap version
| strings with semver.coerce() before comparison. Run these 4 sed
| commands on cli.js:
| CLI_JS="$HOME/.nvm/versions/node/$(node
| -v)/lib/node_modules/@anthropic-ai/claude-code/cli.js"
| # Backup first cp "$CLI_JS" "$CLI_JS.backup" #
| Patch 1: Fix ve2.gt sort (recent release notes) sed -i 's/O
| bject\.keys(B)\.sort((Y,J)=>ve2\.gt(Y,J,{loose:!0})?-1:1)/Object.
| keys(B).sort((Y,J)=>ve2.gt(ve2.coerce(Y),ve2.coerce(J),{loose:!0}
| )?-1:1)/g' "$CLI_JS" # Patch 2: Fix gw0 sort sed
| -i 's/sort((G,Z)=>Wt\.gt(G,Z,{loose:!0})?1:-1)/sort((G,Z)=>Wt.gt(
| Wt.coerce(G),Wt.coerce(Z),{loose:!0})?1:-1)/g' "$CLI_JS"
| # Patch 3: Fix W37 filter sed -i 's/filter((\[J\])=>!Y||Wt\
| .gt(J,Y,{loose:!0}))/filter(([J])=>!Y||Wt.gt(Wt.coerce(J),Y,{loos
| e:!0}))/g' "$CLI_JS" # Patch 4: Fix W37 sort sed
| -i 's/sort((\[J\],\[X\])=>Wt\.gt(J,X,{loose:!0})?-1:1)/sort(([J],
| [X])=>Wt.gt(Wt.coerce(J),Wt.coerce(X),{loose:!0})?-1:1)/g'
| "$CLI_JS" Note: If installed via different method,
| adjust CLI_JS path accordingly (e.g.,
| /usr/lib/node_modules/@anthropic-ai/claude-code/cli.js).
|
| ```
| MattDaEskimo wrote:
| Parsing markdown into a data structure without any sort of
| error handling is diabolical for a company like Anthropic
| llmslave2 wrote:
| Why? Their software sucks, they're an LLM company not a
| software company.
| behnamoh wrote:
| They're a LLM company that has claimed that 90% of code
| will be written by LLMs. Please don't give them any
| excuses.
| cozzyd wrote:
| This sounds exactly like the type of thing you would expect
| an LLM to do
| nycdatasci wrote:
| Work around from comments: rm -rf ~/.claude/cache
| mkdir -p ~/.claude/cache echo "# Changelog" >
| ~/.claude/cache/changelog.md chmod 444
| ~/.claude/cache/changelog.md
| smca wrote:
| It's fixed as of nine minutes ago:
| https://github.com/anthropics/claude-code/pull/16686
| agumonkey wrote:
| was this a 10x gdp vibe-loss ?
| Loeffelmann wrote:
| Lol a formatting error in a change log breaking the entire
| thing
| hughes wrote:
| Genuinely curious how a date in the subheader of a changelog
| could have broken the CLI
|
| edit: it seems changelog.md is assumed to be structured data
| and parsed at startup, and there are no tests to enforce the
| changelog structure: https://github.com/anthropics/claude-
| code/issues/16671
| j2kun wrote:
| This is the kind of choice an LLM would make...
| Y_Y wrote:
| Ah yes, markdown, the ultimate structure for machine-readable
| data
| ctoth wrote:
| It doesn't appear to be for me on Windows. I wonder where the
| cache is jammed up? I deleted the changelog out of
| ~/.claude/cache. Uninstalled and reinstalled. Currently having
| Codex unfuck it ;-)
| ctoth wrote:
| Uh, it completely worked. This is still magical to me. "Hur
| dur grug developer tool broken, can you help? The suggested
| patch didn't work even when we used the right path"
|
| Was any part of this hard? No! Did I want to go digging
| through and patching minified Javascript? Also no.
|
| * Patched the Claude CLI changelog parser so it no longer
| crashes on headers like ## 2.1.0 (2026-01-07); it now
| extracts a semver prefix before doing comparisons. The change
| is in C: \Users\\...\scoop\apps\nvm\current\nodejs\nodejs\nod
| e_modules\@anthropic-ai\claude-code\cli.js.
| Details and source locations:
| - Changelog fetch URL in the CLI:
| https://raw.githubusercontent.com/anthropics/claude-
| code/refs/heads/main/ CHANGELOG.md
| - Cached changelog lives in C:\Users\...\.claude.json under
| cachedChangelog
| Next steps:
| 1. Run claude to confirm startup is fixed.
| 2. If you want to force a clean cache, clear cachedChangelog
| in C:\Users\Q\.claude.json and re-run.
| 3. If you want to disable the fetch entirely, set
| CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 and re-run.
|
| Hmm, maybe we should all be setting that last environment
| variable?
| hrpnk wrote:
| With the issues since November where one has to add environment
| variables, block statsig hosts, modify ~/.claude.json, etc. does
| anyone have experience in managed setups where versions are
| centrally set and bumped on company level? Is this worth the
| hassle?
| viraptor wrote:
| I'm surprised that they don't do an integration test in CI where
| they actually start the app. (Since that's all you need to catch
| it)
| someguyiguess wrote:
| The irony is that I have a Claude agent to do exactly this on
| my projects. You'd think they would have thought of that too.
| eterm wrote:
| Ironically that might have passed, because this didn't break
| the version, this broke _all versions_ when the global
| referenced changelog was published. It wasn 't the new version
| itself that was broken.
|
| But testing new version would have been downloading the not-
| yet-updated working changelog.
|
| There are ways to deal with this of course, and I'm not
| defending the very vibey way that claude-code is itself
| developed.
| viraptor wrote:
| Ah, that's an external file. That explains it.
| 0xbadcafebee wrote:
| We're trying to make billions of dollars here, we don't have
| time to do crazy things like test basic functionality before
| shipping changes to all live users at once
| Hamuko wrote:
| Considering how shitty tests my coworkers are producing with
| Claude, I'm not all that surprised.
| steve_adams_86 wrote:
| I just set this up for the project I'm working on last week,
| and felt dirty because it took me a couple of months to get to
| it. There are like 5 or 6 users.
|
| There's something so unnerving about the people pushing the AI
| frontier being sloppy about testing. I know, it's just a CLI
| wrapped around the AI itself, but it suggests to me that the
| culture around testing there isn't as tight and thorough as I'd
| like it to be.
| frays wrote:
| Claude Code creator said Claude wrote 100% of his code last
| month: https://xcancel.com/bcherny/status/2004897269674639461
| midldei wrote:
| I read your comment as a joke, but in case if was a defense, or
| is taken as a defense by others, let me help you punch up your
| writing for you:
|
| "[Person who is financially incentivized to make unverifiable
| claims about the utility of the tool they helped build] said
| [tool] [did an unverified and unverifiable thing] last month"
| antonvs wrote:
| "Claude Code creator relied so heavily on Claude Code that he
| broke Claude Code"
| kace91 wrote:
| >In the last thirty days, I landed 259 PRs -- 497 commits, 40k
| lines added, 38k lines removed.
|
| Is anyone with or without AI approaching anywhere near that
| speed of delivery?
|
| I don't think my whole company matches that amount. It sounds
| super unreasonable, just doing a sanity check.
| vessenes wrote:
| Check out Steve Yegge's pace with beads and gas town - well
| in excess of that.
| drdrey wrote:
| ...but is it good?
| cheschire wrote:
| No, per Steve himself.
|
| https://steve-yegge.medium.com/welcome-to-gas-
| town-4f25ee16d...
| lelanthran wrote:
| Yeah, but at that pace it is, for all practical purposes,
| unreviewable.
|
| Humans writing is slow, no doubt, but humans reading code
| ain't that much faster.
| groundzeros2015 wrote:
| I can make a bot that touches each line of code and commits
| it, if you would like.
| deepjoy wrote:
| Recently came across a project on HN front page that was
| developed on Github with a public repo.
| https://github.com/steveyegge/gastown/graphs/contributors
| 2000 commits over 20 days +497K/-360K lines
|
| I'm not affiliated with Claude or the project linked.
| mktemp-d wrote:
| 40K - 38K means 2K lines of actual code.
|
| Which could mean that code was refactored and then built on
| top of. Or it could just mean that Claude had to correct
| itself multiple times over those 459 commits.
|
| Does correcting your mistakes from yesterday's ChatGPT binge
| episode count as progress...maybe?
| lelanthran wrote:
| If it doesn't revert the corrections, maybe it is progress?
|
| I can easily imagine constant churn in the code because it
| switches between five different implementations when run
| five times, foing back to the first one on the sixth time
| and repeating the process.
|
| I gotta ask, though, why exactly is that much code needed
| for what CC does?
|
| It's a specialised wrapper.
| kybernetikos wrote:
| AI approaches can churn code more than a human would.
|
| Lines of code has always been a questionable metric of
| velocity, and AI makes that more true than ever.
| fzysingularity wrote:
| I'd love to see Claude Code remove more lines than it added
| TBH.
|
| There's a ton of cruft in code that humans are less
| inclined to remove because it just works, but imagine
| having LLM doing the clean up work instead of the
| generation work.
| kace91 wrote:
| Even discounting lines of code:
|
| - get a feature request/bug
|
| - understand the problem
|
| - think on a solution
|
| - deliver the solution
|
| - test
|
| - submit to code review, including sufficient explanation,
| and merge when ready
|
| 260 PRs a month means the cycle above is happening once per
| hour, at constant speed, for 60 hours work weeks.
| coldtea wrote:
| One can think of a lot of obvious improvements to a MVP
| product that don't requre much regarding "get a feature
| request/bug - understand the problem - think on a
| solution".
|
| You know the features you'd like to have in advance, or
| changes you want to make you can see as you build it.
|
| And a lot of the "deliver the solution - test - submit to
| code review, including sufficient explanation" can be
| handled by AI.
| bredren wrote:
| The premise of the steps you've listed is flawed in two
| ways.
|
| This is more what agentic-assisted dev looks like:
|
| 1. Get a feature request / bug
|
| 2. Enrich the request / bug description with additional
| details
|
| 3. Send AI agents to handle request
|
| 4a. In some situations, manually QA results, possibly
| return to 2.
|
| 4b. Otherwise, agents will babysit the code through
| merge.
|
| The second is that the above steps are performed in
| parallel across X worktrees. So, the stats are based on
| the above steps proceeding a handful of times per hour--
| in some cases completely unassisted.
|
| ---
|
| With enough automation, the engineer is only dealing with
| steps 2 and 4a. You get notified when you are needed, so
| your attention can focus on finding the next todo or
| enriching a current todo as per step 2.
|
| ---
|
| Babysitting the code through merge means it handles
| review comments and CI failures automatically.
|
| ---
|
| I find communication / consensus with stakeholders, and
| retooling take the most time.
| uoaei wrote:
| You're counting wheel revolutions, not miles travelled. Not
| an accurate proxy measurement unless you can verify the
| wheels are on the road for the entire duration.
| lukev wrote:
| Read that as "speed of lines of code", which is very VERY
| very different from "speed of delivery."
|
| Lines of code never correlated with quality or even progress.
| Now they do even less.
|
| I've been working a lot more with coding agents, but my
| convictions around the core principles of software
| development have not changed. Just the iteration speed of
| certain parts of the process.
| sefrost wrote:
| Is it possible for humans to review that amount of code?
|
| My understanding of the current state of AI in software
| engineering is that humans are allowed (and encouraged) to
| use LLMs to write code. BUT the person opening a PR must read
| and understand that code. And the code must be read and
| reviewed by other humans before being approved.
|
| I could easily generate that amount of code and make it write
| and pass tests. But I don't think I could have it reviewed by
| the rest of my team - while I am also taking part in
| reviewing code written by other people on my team at that
| pace.
|
| Perhaps they just aren't human reviewing the code? Then it is
| feasible to me. But it would go against all of the rules that
| I have personally encountered at my companies and that peers
| have told me they have at their companies.
| Hamuko wrote:
| > _BUT the person opening a PR must read and understand
| that code._
|
| The AI evangelists at my work who say this the loudest are
| also the ones shipping the most "did anyone actually look
| at this code?" bugs.
| coldtea wrote:
| If the code is like React, 40k it's just the addition of a
| few CRUD views
| Kerrick wrote:
| ratatui_ruby % git remote -v origin
| https://git.sr.ht/~kerrick/ratatui_ruby (fetch) origin
| https://git.sr.ht/~kerrick/ratatui_ruby (push)
| ratatui_ruby % git checkout v0.8.0 HEAD is now at
| dd3407a chore: release v0.8.0 ratatui_ruby % git
| log --reverse --format="%ci" | head -1 | read first; \
| echo "First Commit: $first\nHEAD Commit: $(git show -s
| --format='%ci' HEAD --)" First Commit: 2025-12-22
| 00:40:22 -0600 HEAD Commit: 2026-01-05 08:57:58 -0600
| ratatui_ruby % git log --numstat --pretty=tformat: | \
| awk '$1 != "-" { \ if ($3 ~ /\./) { ext=$3;
| sub(/.*\./, "", ext) } else { ext="(no-ext)" } \ if
| (ext ~ /^(txt|ansi|lock)$/) next; \ add[ext]+=$1;
| rem[ext]+=$2 \ } \ END { for (e in add) print e,
| add[e], rem[e] }' | \ sort -k2 -nr | \ awk 'BEGIN
| { \ print
| "---------------------------------------"; \ printf
| "%-12s %12s %12s\n", "EXT", "ADDED", "REMOVED"; \
| print "---------------------------------------" \ } \
| { \ sum_a += $2; sum_r += $3; \ printf
| "%-12s %12d %12d\n", $1, $2, $3 \ } \ END { \
| print "---------------------------------------"; \
| printf "%-12s %12d %12d\n", "SUM:", sum_a, sum_r; \
| print "---------------------------------------" \ }'
| --------------------------------------- EXT
| ADDED REMOVED
| --------------------------------------- rb
| 51705 18913 md 20037
| 13167 rs 8576 3001 (no-
| ext) 4072 2157 rbs
| 2139 569 rake 1632
| 317 yml 1431 153 patch
| 894 894 erb 300 30
| toml 118 39 gemspec
| 62 10 gitignore 27 4
| css 22 0 yaml
| 18 2 ruby-version 1 1
| png 0 0 gitkeep
| 0 0 ---------------------------------------
| SUM: 91034 39257
| ---------------------------------------
| ratatui_ruby % cloc . 888 text files.
| 584 unique files.
| 341 files ignored. github.com/AlDanial/cloc v
| 2.06 T=0.26 s (2226.1 files/s, 209779.6 lines/s) -----
| -------------------------------------------------------------
| -------------- Language files
| blank comment code -------------------
| -------------------------------------------------------------
| Ruby 305 4792
| 10413 20458 Markdown
| 60 1989 256 4741 Rust
| 32 645 530 4400 Text
| 168 523 0 4358 YAML
| 8 316 17 961 ERB
| 3 20 4 246 Bourne
| Again Shell 2 24 90
| 150 TOML 5 16
| 10 53 CSS 1
| 3 8 11 -----------------------
| ---------------------------------------------------------
| SUM: 584 8328
| 11328 35378 ----------------------------------
| ----------------------------------------------
| rvz wrote:
| Back-peddling this tweet to 99% in 3, 2, 1.
| danielbln wrote:
| Back in my day, honest to God humans wrote all code, and
| certainly never introduced any bugs.
| coldtea wrote:
| [deleted]
| dnw wrote:
| Not surprised (#5):
| https://news.ycombinator.com/item?id=46395714#46425529
| mvdtnz wrote:
| I'm not usually one to pile on to a developer for releasing a bug
| but this is pretty special. The nature of the bug (a change in
| format for a changelog markdown file causes the entire app to
| break) and the testing it would have taken to uncover it
| (literally any) makes this one especially embarrassing for
| Anthropic.
| smashed wrote:
| In the specific commit, what seems like a bot or automated
| script added changelog entries for 3 new versions in a single
| commit, which is odd for an automated script to do. And only
| the latest version had the date added.
|
| https://github.com/anthropics/claude-code/commit/870624fc158...
|
| That actions-user seem to be mostly maintaining the Changelog
| but the commits does not seem consistent with an automated
| script. I see a few cases of rewriting previous change log
| entries or moving entries from one version to another which any
| kind of automation would not be doing. Seems like human error
| and poor testing.
| NickNaraghi wrote:
| Meta comment, but the pace of this is so exciting. Feels like a
| new AAA MMO release or something, having such a confluence of
| attention and a unified front.
| brunooliv wrote:
| Even if it broke after some sort of vibe coding session, the fact
| that we're now pushing these tools to their limits are what's
| allowing Anthropic and Boris getting a lot of useful insights to
| improve the models and experience further! So yeah, buckle up,
| bumps expected
| denysvitali wrote:
| The good news is that they broke their usage tracking as well, so
| you can use Opus without any rate limit!
| qwertox wrote:
| Care to be more specific?
| denysvitali wrote:
| If you have a Claude subscription, it's unlimited now (no 5h
| / 7d limits)
| chuckadams wrote:
| vibecodingisgoinggreat.com
| omnicognate wrote:
| As I commented [1] on the earlier Claude Code post, there's an
| issue [2] that has the following comment:
|
| > While we are always monitoring instances of this error and and
| looking to fix them, it's unlikely we will ever completely
| eliminate it due to how tricky concurrency problems are in
| general.
|
| This is an extraordinary admission. It is perfectly possible
| (easy, even, relative to many programming challenges) to write a
| tool like this without getting the design so wrong that the same
| bug keeps happening in so many different ways that you have to
| publicly admit you're powerless to fix them all.
|
| [1] https://news.ycombinator.com/item?id=46523740
|
| [2] https://github.com/anthropics/claude-code/issues/6836
| lucideer wrote:
| At least this breakage is clear & obvious.
|
| I did some testing of configuring Claude CLI sometime ago via
| .claude json config files - in particular I tested:
|
| - defining MCP servers manually in config (instead of having the
| CLI auto add them)
|
| - playing with various combinations of 'permissions` arrays
|
| What I discovered was that Claude is not only vibe coded, but
| basic local logic around config reading seems to also work on the
| basis of "vibes".
|
| - it seemed like different parts of the CLI codebase did or
| didn't adhere to the permissions arrays.
|
| - at one point it told me it didn't have permission to read the
| .claude directory & as a result ran bash commands to search my
| entire filesystem looking for MCP server URLs for it to provide
| me with a list of available MCP servers
|
| - when restricted to only be able to read from a working
| directory, at various points it told me I had denied it read
| permissions to that same working directory & also freely read
| from other directories on my system without prompting
|
| - restricting webfetch permissions is extremely hit & miss
| (tested with Little Snitch in alert mode)
|
| ---
|
| I have not reported any of the above as Github issues, nor do I
| intend to. I had a think about why I won't & it struck me that
| there's a funny dichotomy with AI tools:
|
| 1. all of the above are things the typical vibe coder stereotypes
| I've encountered simply do not really care deeply about
|
| 2. people that care about the above things are less likely to
| care enough about AI tools to commit their personal time to
| reporting & debugging these issues
|
| There's bound to be exceptions to these stereotypes out there but
| I doubt there's sufficient numbers to make AI tooling good.
| SamInTheShell wrote:
| I'd urge you to report it anyway. As someone that does use
| these tools I'm always on the lookout for other people pointing
| this type of stuff out. Like the .claude directory usage does
| irk me. Also the concise telegraphing on how some of the bash
| commands work bug me. Like why can it run some commands without
| asking me? I know why, I've seen the code, but that crap should
| be clearer in the UI. The first time it executed a bash command
| without asking me I was confused and somewhat livid because it
| defied my expectations. I actually read the crap it puts out
| because it couldn't code its way out of a paper bag without
| supervision.
| athrowaway3z wrote:
| I get the same feeling, but I think its not just the code
| agents.
|
| All the AI websites feel extremely clunky and slow.
| dionian wrote:
| huge changelist and issue was fixed very quickly. didnt affect
| me. nice work Boris
___________________________________________________________________
(page generated 2026-01-07 23:01 UTC)