[BUG] Insights feature misses C# as a language

Resolved 💬 3 comments Opened Mar 11, 2026 by Blackclaws Closed Apr 9, 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?

When generating insights the language detection does not detect C# files generated, which in my case is 90% of the generated code.

What Should Happen?

Insights should contain C#

Error Messages/Logs

Steps to Reproduce

  1. Use Claude to generate C# files
  2. Generate insights via /insights

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.72

Platform

Anthropic API

Operating System

Other Linux

Terminal/Shell

Other

Additional Information

From Claude

● Bash(python3 -c "
      import json, os
      meta_dir = os.path.expanduser('~/.claude/usage-data/session-meta')
      for f in sorted(os.listdir(meta_dir)):
          with open(os.path.join(meta_dir, f)) as fh:
              d = json.load(fh)
              langs = d.get('languages', {})
              tools = d.get('tool_counts', {})
              edits = tools.get('Edit', 0) + tools.get('Write', 0)
              if edits > 5:
                  print(f'languages={langs}, edits+writes={edits}, files_modified={d.get(\"files_modified\",0)}')
      " | head -20)
  ⎿  languages={}, edits+writes=10, files_modified=9
     languages={'Markdown': 1, 'JSON': 1, 'CSS': 1}, edits+writes=52, files_modified=36
     languages={'Markdown': 7}, edits+writes=11, files_modified=5
     languages={}, edits+writes=24, files_modified=13
     languages={}, edits+writes=15, files_modified=10
     languages={}, edits+writes=9, files_modified=6
     languages={}, edits+writes=11, files_modified=8
     languages={'Markdown': 2}, edits+writes=14, files_modified=12
     languages={'Markdown': 5}, edits+writes=26, files_modified=8
     languages={'Markdown': 2}, edits+writes=14, files_modified=9
     languages={}, edits+writes=12, files_modified=7
     languages={}, edits+writes=35, files_modified=17
     languages={}, edits+writes=15, files_modified=4
     languages={'Markdown': 1}, edits+writes=14, files_modified=6
     languages={'Markdown': 5}, edits+writes=19, files_modified=4
     languages={}, edits+writes=13, files_modified=4
     languages={}, edits+writes=23, files_modified=18
     languages={}, edits+writes=22, files_modified=13
     languages={}, edits+writes=14, files_modified=2
     languages={'Markdown': 42}, edits+writes=40, files_modified=7

                                                                                                                                                                                                                                                 01:19 PM claude-opus-4-6
● That's a clear bug in the metadata collection. Sessions with 10-52 edits across many files show languages={} — C# isn't being detected at all. The languages field only picks up Markdown (likely from .md file edits), Shell, JSON, and YAML, but completely misses .cs files.

  This is a limitation in how Claude Code's session telemetry detects languages. It seems to identify languages based on a limited set of file extensions or content patterns, and C# simply isn't in that detection logic. So when insights reports "Markdown as the main
  language," it's not that you're writing mostly Markdown — it's that C# edits are invisible to the language tracker.

  Not something you can fix on your side — it's a bug/gap in Claude Code's telemetry. Worth reporting at https://github.com/anthropics/claude-code/issues if you want it tracked.

View original on GitHub ↗

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