Overview
TheStatuslineConfig interface defines all available configuration options for cc-statusline. These options control which features are displayed, how they’re rendered, and where the statusline is installed.
Configuration Interface
All configuration is managed through theStatuslineConfig interface defined in src/cli/prompts.ts:3.
Core Options
Array of feature flags to enable. See Feature Flags for available options.Validation: At least one feature must be selected.Example:
['directory', 'git', 'model', 'context', 'usage']Target runtime for the generated statusline script.Current Support: Only
'bash' is fully implemented in v1.4.0.Default: 'bash' (set automatically in prompts.ts:71)Enable 256-color palette and emoji support for enhanced visual output.Prompt: “Enable modern color scheme and emojis?”Effects:
- Enables color-coded output (context, costs, git status)
- Adds emoji indicators for each section
- Respects
NO_COLORenvironment variable
true (prompted in prompts.ts:42-46)Visual theme controlling layout density and information display. See Themes for details.Default:
'detailed' (hardcoded in prompts.ts:73)Integration Options
Enable integration with ccusage for usage analytics.Auto-configured: Automatically enabled when
session feature is selected (see prompts.ts:67).Enables:- Cost tracking with burn rates
- Token consumption analytics
- Session reset timer
jq must be installed for full functionality.Default: false (enabled automatically if needed)Enable debug logging to
.claude/statusline.log.Prompt: “Enable debug logging to .claude/statusline.log?”Log Contents:- Timestamp and version info
- Raw JSON input from Claude Code
- Extracted values (directory, model, git, context, costs)
- JSON parser mode (jq vs fallback)
false (prompted in prompts.ts:48-52)Allow custom emoji configuration (future feature).Status: Not yet implemented in v1.4.0.Default:
false (hardcoded in prompts.ts:76)Installation Options
Determines where the statusline is installed.Prompt: “Where would you like to install the statusline?”Options:
'global'- Installs to~/.claude/for use across all projects'project'- Installs to./.claude/for project-specific configuration
'project' (prompted in prompts.ts:54-62)Added in: v1.2.4Configuration Flow
The configuration is collected interactively viacollectConfiguration() in prompts.ts:14:
- Feature Selection - Multi-select checkbox (at least 1 required)
- Color Preference - Yes/no confirmation (default: yes)
- Logging - Yes/no confirmation (default: no)
- Install Location - Global or project (default: project)
- Runtime is set to
'bash' - Theme is set to
'detailed' - ccusage integration is enabled if session feature is selected
- Custom emojis remain disabled
Example Configuration
Configuration Summary
After configuration, a summary is displayed viadisplayConfigSummary() (prompts.ts:81-97):
Related
- Feature Flags - Available feature options
- Themes - Theme options and layouts
- Init Command - Interactive configuration wizard