[BUG] Interactive mode crashes with "Invalid Version" error - changelog date format breaks semver parsing
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:
- Have
~/.claude/cache/changelog.mdwith a version header like## 2.1.0 (2026-01-07) - Run
claude(interactive mode) - 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).
This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗