[BUG] Interactive mode crashes with "Invalid Version" error - changelog date format breaks semver parsing

Resolved 💬 9 comments Opened Jan 7, 2026 by Nolanole Closed Feb 22, 2026

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?

Claude Code 2.1.0 interactive mode crashes immediately on startup with a semver parsing error. Non-interactive mode (-p) works fine.

The TUI initialization attempts to parse the version from ~/.claude/cache/changelog.md, but the changelog format ## 2.1.0 (2026-01-07) includes a date suffix that isn't valid semver, causing the crash.

What Should Happen?

What Should Happen?:
Claude Code should start in interactive mode normally. The changelog parser should handle the date suffix in version headers, or the changelog format should use valid semver.

Error Messages/Logs

Error Messages/Logs:
  ERROR  Invalid Version: 2.1.0 (2026-01-07)

  From debug logs:
  2026-01-07T20:05:34.178Z [ERROR] TypeError: TypeError: Invalid Version: 2.1.0 (2026-01-07)

Steps to Reproduce

Steps to Reproduce:

  1. Have ~/.claude/cache/changelog.md with a version header like ## 2.1.0 (2026-01-07)
  2. Run claude (interactive mode)
  3. Crash occurs immediately

What works: claude --version, claude --help, claude doctor, claude -p "hello", claude update
What fails: claude, claude -c, claude -r

Workaround:
```bash
mv ~/.claude/cache/changelog.md ~/.claude/cache/changelog.md.bak

Terminal/Shell: PowerShell

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

Claude Code Version: 2.1.0 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

Root cause: The file ~/.claude/cache/changelog.md line 3 contains ## 2.1.0 (2026-01-07). The TUI code parses this through a semver library which rejects the parenthetical date suffix as invalid.

Suggested fix: Either strip the date suffix before semver parsing, or use valid semver format in changelog headers (e.g., ## 2.1.0 without the date, or ## 2.1.0+20260107).

View original on GitHub ↗

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