Quick Diagnostics
Before diving into specific issues, run these checks:Common Issues
Statusline Not Showing
From README.md:228-232, this is the most common issue.1. Restart Claude Code
1. Restart Claude Code
Symptom: Statusline doesn’t appear after installationSolution: Always restart Claude Code after installation
Claude Code only reads settings.json on startup
2. Verify Settings
2. Verify Settings
Symptom: Statusline still not showing after restartSolution: Check Should contain:
.claude/settings.json contains correct configuration3. Check Permissions
3. Check Permissions
Symptom: Script exists but doesn’t executeSolution: Ensure script is executableVerify:
4. Manual Configuration
4. Manual Configuration
Symptom: Auto-configuration failed during installationSolution: Manually add configuration to
.claude/settings.jsonFrom README.md:217-224:Performance Issues
From README.md:234-237, slow statusline execution.Test Performance
Test Performance
Symptom: Statusline is slow to updateDiagnostic:Look for execution time in output:Performance targets from README.md:246-253:
- Excellent: <100ms ✅
- Good: 100-500ms ⚠️
- Slow: >500ms 🐌
Optimize Features
Optimize Features
Solution: Disable expensive featuresHeavy features in order of impact:
- ccusage integration - Network requests, spawns external process
- Token statistics - Requires parsing large usage data
- Session reset time - Complex time calculations
- Burn rate - Multiple calculations
Disable ccusage
Disable ccusage
Solution: If you don’t need cost trackingRegenerate without usage features:This eliminates the
npx ccusage@latest call which can add 100-500ms.Missing Features
From README.md:239-244, features not displaying.Install jq
Install jq
Symptom: Missing context percentage, tokens, or session timeCause: jq is not installedFrom README.md:38-42:Verify installation:
Without jq, your statusline will have LIMITED functionality:Solution: Install jq for your platform
- ❌ No context remaining percentage
- ❌ No token statistics from ccusage
- ❌ No session timer
- ⚠️ Basic fallback parser is used (less reliable)
ccusage Setup
ccusage Setup
Symptom: No cost or usage statisticsSolution: ccusage works automatically via If this hangs or fails, check:
npxFrom README.md:92:
ccusage - For usage stats (works via npx - no install needed)
Verify ccusage works:- Network connectivity
- npm/npx installation
- Firewall settings
Git Not Found
Git Not Found
Symptom: No branch name displayedSolution: Install gitVerify:
Git branch feature gracefully falls back to showing nothing if git is not installed
Context Not Showing
Context Not Showing
Symptom: Context shows “TBD” or missingCauses:
- jq not installed (see above)
- Not in an active Claude Code session
- No context usage data available yet
Colors Not Working
Colors Not Working
Symptom: No colors or emojis in outputCause:
NO_COLOR environment variable is setSolution:From README.md:197: cc-statusline honors
NO_COLOR environment variableInstallation Errors
Permission Denied During Install
Permission Denied During Install
Symptom:Solution:
Node.js Version Too Old
Node.js Version Too Old
Symptom:Cause: Requires Node.js 16+Solution:
Settings Update Failed
Settings Update Failed
Symptom:Cause: Invalid JSON in existing settings.jsonSolution:
Debug Logging
Enable detailed logging to diagnose issues:Enable Logging
During
cc-statusline init, select “Yes” for debug logging.Or regenerate with logging:Platform-Specific Issues
Windows
Bash Not Found
Bash Not Found
Symptom:Solution: Install Git for Windows (includes bash)Or install WSL:
Path Separators
Path Separators
Symptom: Paths show with backslashes instead of forward slashesSolution: The statusline automatically converts backslashesFrom bash-generator.ts:103-106:This is handled automatically - no action needed.
macOS
Command Not Found: cc-statusline
Command Not Found: cc-statusline
Symptom: Or install globally:
cc-statusline: command not foundSolution: Use npx instead of global installLinux
jq Not in PATH
jq Not in PATH
Symptom: jq installed but not foundSolution:
Advanced Troubleshooting
Inspect Generated Script
Manually review the generated bash script:- Shebang line:
#!/bin/bash - Version:
STATUSLINE_VERSION="1.4.0" - Feature flags: Verify selected features are included
- Syntax errors: Run
bash -n .claude/statusline.sh
Test JSON Parsing
Test the JSON extraction manually:Check for Conflicting Statuslines
From installer.ts:72-90, cc-statusline detects conflicts:Getting Help
If you’re still stuck:Report Issue
Open an issue at:
https://github.com/chongdashu/cc-statusline/issuesInclude:
- Operating system and version
- Node.js version
- Complete error message
- Output of preview command
- Debug logs (if enabled)
Common Error Messages
USER_CANCELLED_OVERWRITE
USER_CANCELLED_OVERWRITE
Meaning: You declined to overwrite existing statusline.shAction: Run
cc-statusline init again and confirm overwrite, or manually edit the existing fileSETTINGS_UPDATE_FAILED
SETTINGS_UPDATE_FAILED
Meaning: Could not automatically update settings.jsonAction: Manually add statusLine configuration (see README.md:217-224)
oldString not found in content
oldString not found in content
Meaning: Internal error during script generationAction: Delete
.claude/statusline.sh and regeneratePrevention Tips
- Always restart Claude Code after installation or changes
- Install jq first before running init for full functionality
- Use preview command before installing to catch issues early
- Keep backups of working configurations
- Enable debug logging during initial setup
- Start minimal - add features gradually if you have issues
Next Steps
Performance Guide
Optimize your statusline for speed
Configuration Guide
Learn about all available features