Skip to content

Configuration Reference

CShip is configured via a TOML file. The config discovery order is:

  1. --config <path> flag (if provided)
  2. cship.toml found walking up from the workspace directory
  3. starship.toml found walking up from the workspace directory
  4. ~/.config/cship.toml (global)
  5. ~/.config/starship.toml (global)
  6. Built-in defaults (no config required)

The recommended file is ~/.config/cship.toml.

Layout

The [cship] section controls the overall layout:

toml
[cship]
lines = [
  "$cship.model  $cship.cost  $cship.context_bar",
  "$directory $git_branch",
]
FieldTypeDefaultDescription
linesstring[][]Each element is one statusline row. Supports $cship.<module> tokens and Starship passthrough tokens.
formatstringStarship-compatible format string. Split on $line_break to produce multiple rows. Takes priority over lines when both are set.

Format String Syntax

All format fields (and the lines strings) use Starship-compatible format syntax:

SyntaxMeaning
$valueInterpolate the variable named value
$symbolInterpolate the module's configured symbol
[text]($style)Render text with the ANSI style $style
($group)Conditional group — renders only if all variables inside it are non-empty
$line_breakInsert a newline (for use in format, not lines)

Style values

Styles follow the same syntax as Starship:

"bold"
"italic"
"underline"
"bold green"
"fg:#c792ea"
"bold fg:#ff5370 bg:#1a1a2e"
"fg:208"              # 256-color index

Supported named colors: black, red, green, yellow, blue, purple, cyan, white, and their bright_* variants. Hex colors: #RRGGBB (24-bit) or #RGB (shorthand). 256-color: numeric index 0255.

Common Module Fields

All native CShip modules share these optional fields:

FieldTypeDefaultDescription
disabledboolfalseSet true to hide this module entirely (silent None)
stylestringmodule defaultANSI style for the rendered output
symbolstringmodule defaultPrefix symbol prepended to the value
formatstring"[$symbol$value]($style)"Controls how symbol, value, and style are combined

[cship.model] — Model Name

Displays the active Claude model name.

Token: $cship.model

FieldTypeDefaultDescription
disabledboolfalseHide this module
stylestring"bold"ANSI style
symbolstring""Prefix symbol
formatstring"[$symbol$value]($style)"Format string; $value = model display name

Variables: $value (display name, e.g. claude-sonnet-4-5), $symbol, $style

toml
[cship.model]
symbol = "🤖 "
style  = "bold fg:#7aa2f7"

[cship.cost] — Session Cost

Displays total session cost in USD. Supports threshold-based colour escalation.

Token: $cship.cost

FieldTypeDefaultDescription
disabledboolfalseHide this module
stylestring"green"Base ANSI style
symbolstring""Prefix symbol
formatstring"[$symbol$value]($style)"Format string
warn_thresholdfloatUSD amount at which style switches to warn_style
warn_stylestring"yellow"Style applied when cost ≥ warn_threshold
critical_thresholdfloatUSD amount at which style switches to critical_style
critical_stylestring"bold red"Style applied when cost ≥ critical_threshold

Variables: $value (e.g. $1.23), $symbol, $style

toml
[cship.cost]
warn_threshold     = 2.0
warn_style         = "yellow"
critical_threshold = 5.0
critical_style     = "bold red"

Cost sub-field modules

Individual cost metrics can also be referenced directly:

TokenDescription
$cship.cost.total_cost_usdTotal cost in USD
$cship.cost.total_duration_msTotal wall-clock duration (ms)
$cship.cost.total_api_duration_msTotal API time (ms)
$cship.cost.total_lines_addedLines added this session
$cship.cost.total_lines_removedLines removed this session

Each sub-field has its own [cship.cost.<name>] section with the same fields as the parent (style, symbol, format, warn_threshold, warn_style, critical_threshold, critical_style, disabled).

toml
[cship.cost.total_lines_added]
style = "green"
warn_threshold = 500
warn_style = "yellow"

[cship.context_bar] — Context Window Progress Bar

Renders a visual ASCII progress bar showing context window usage.

Token: $cship.context_bar

FieldTypeDefaultDescription
disabledboolfalseHide this module
stylestring"green"Base ANSI style
symbolstring""Prefix symbol
formatstring"[$symbol$value]($style)"Format string
widthinteger10Number of characters in the bar
warn_thresholdfloat% at which style switches to warn_style
warn_stylestring"yellow"Style at warn level
critical_thresholdfloat% at which style switches to critical_style
critical_stylestring"bold red"Style at critical level
toml
[cship.context_bar]
width              = 10
symbol             = " "
warn_threshold     = 40.0
warn_style         = "yellow"
critical_threshold = 70.0
critical_style     = "bold red"

[cship.context_window] — Context Window Details

Displays detailed context window token counts. The parent token shows used/total summary.

Token: $cship.context_window

FieldTypeDefaultDescription
disabledboolfalseHide this module
stylestringANSI style
warn_thresholdfloat% threshold for warning
warn_stylestringStyle at warn level
critical_thresholdfloat% threshold for critical
critical_stylestringStyle at critical level
formatstringFormat string

Context window sub-field modules

TokenDescription
$cship.context_window.used_percentage% of context window used
$cship.context_window.remaining_percentage% of context window remaining
$cship.context_window.sizeTotal context window size (tokens)
$cship.context_window.total_input_tokensTotal input tokens this session
$cship.context_window.total_output_tokensTotal output tokens this session
$cship.context_window.current_usage_input_tokensCurrent turn input tokens
$cship.context_window.current_usage_output_tokensCurrent turn output tokens
$cship.context_window.current_usage_cache_creation_input_tokensCache creation tokens
$cship.context_window.current_usage_cache_read_input_tokensCache read tokens

Each sub-field supports style, symbol, format, warn_threshold, warn_style, critical_threshold, critical_style, disabled, and invert_threshold.

invert_threshold — set to true for metrics where low is bad (e.g. remaining_percentage): the warning fires when value falls below the threshold.

toml
[cship.context_window.remaining_percentage]
warn_threshold    = 30.0
warn_style        = "yellow"
critical_threshold = 10.0
critical_style    = "bold red"
invert_threshold  = true

[cship.vim] — Vim Mode

Displays the current vim mode (NORMAL, INSERT, VISUAL, etc.). Returns nothing when vim mode is inactive.

Token: $cship.vim

FieldTypeDefaultDescription
disabledboolfalseHide this module
stylestringBase ANSI style
symbolstringPrefix symbol
formatstringFormat string
normal_stylestring"bold green"Style applied in NORMAL mode
insert_stylestring"bold blue"Style applied in INSERT mode
toml
[cship.vim]
normal_style = "bold green"
insert_style = "bold blue"

[cship.agent] — Agent Name

Displays the active sub-agent name. Returns nothing when no agent is running.

Token: $cship.agent

FieldTypeDefaultDescription
disabledboolfalseHide this module
stylestringANSI style
symbolstring"↳ "Prefix symbol
formatstringFormat string
toml
[cship.agent]
symbol = "↳ "
style  = "fg:#9ece6a"

[cship.session] — Session Identity

Displays session metadata (session ID, transcript path, output style, cship version).

Token: $cship.session

FieldTypeDefaultDescription
disabledboolfalseHide this module
stylestringANSI style
symbolstringPrefix symbol
formatstringFormat string

[cship.workspace] — Workspace Directory

Displays the current working directory or project directory.

Token: $cship.workspace

FieldTypeDefaultDescription
disabledboolfalseHide this module
stylestringANSI style
symbolstringPrefix symbol
formatstringFormat string

[cship.usage_limits] — API Usage Limits

Displays 5-hour and 7-day API utilization percentages with time-to-reset. Fetches from the Anthropic API using your OAuth token (stored in the OS credential store). Results are cached for 60s or until the reset window passes.

Token: $cship.usage_limits

FieldTypeDefaultDescription
disabledboolfalseHide this module
stylestringBase ANSI style
formatstringFormat string
five_hour_formatstring"5h: {pct}% resets in {reset}"Format for the 5h window; {pct} and {reset} are placeholders
seven_day_formatstring"7d: {pct}% resets in {reset}"Format for the 7d window
separatorstring" | "String placed between 5h and 7d sections
warn_thresholdfloat% at which style switches to warn_style
warn_stylestring"yellow"Style at warn level
critical_thresholdfloat% at which style switches to critical_style
critical_stylestring"bold red"Style at critical level

Prerequisites: On Linux/WSL2, install libsecret-tools and store your OAuth token with secret-tool. See FAQ for setup instructions.

toml
[cship.usage_limits]
five_hour_format   = "5h {pct}%({reset})"
seven_day_format   = "7d {pct}%({reset})"
separator          = " "
warn_threshold     = 70.0
warn_style         = "bold yellow"
critical_threshold = 90.0
critical_style     = "bold red"

Released under the Apache-2.0 License.