Skip to main content
statuslinesSource-backedReview first Safety Privacy

Model Provider Statusline

Claude Code statusline that prints the current model label, provider label, and optional routing hint from local statusline input.

by MkDev11·added 2026-06-04·
Claude Code
HarnessClaude Code
Language:bash
Review first review before installing

Open the source and read safety notes before installing.

Safety notes

  • Provider labels are operational hints and should not be treated as proof of model capability, data residency, or policy coverage.
  • Keep route labels generic enough for terminal screenshots and shared logs.
  • Verify model and provider changes in the actual Claude Code configuration before relying on the display.

Privacy notes

  • The script reads local statusline input and optional shell labels, then prints only model and route names.
  • Custom route labels can reveal internal deployment names if teams use sensitive naming conventions.
  • The statusline does not send model information to external services.

Prerequisites

  • Claude Code statusline support with model information in the JSON input.
  • jq available for reading model fields.
  • Optional CLAUDE_PROVIDER_LABEL or CLAUDE_PROVIDER_ROUTE set when your wrapper uses non-default routing labels.

Schema details

Install type
config
Troubleshooting
No
Runtime and command metadata
Script language
bash
Script body
#!/usr/bin/env bash
set -u

main() {
read -r input || input=""
model=$(printf '%s' "$input" | jq -r '.model.display_name // .model.name // .model // "unknown"')
provider=$(printf '%s' "$input" | jq -r '.model.provider // empty')
route="${CLAUDE_PROVIDER_ROUTE:-default}"

if [ -z "$provider" ] || [ "$provider" = "null" ]; then
  provider="${CLAUDE_PROVIDER_LABEL:-anthropic}"
fi

printf 'model: %s | provider: %s | route: %s\n' "$model" "$provider" "$route"
}

case $- in
  *n*) ;;
  *) main "$@" ;;
esac
Full copyable content
{
  "statusLine": {
    "type": "command",
    "command": "$CLAUDE_PROJECT_DIR/.claude/statuslines/model-provider-statusline.sh"
  }
}

About this resource

Source notes

  • Claude Code statusline documentation describes local commands receiving structured JSON and printing status text.
  • Anthropic model documentation provides the source context for treating model identity as an important runtime signal.

Duplicate check

Checked existing statuslines, live HeyClaude statuslines, open pull requests, and repository content for model-provider-statusline, current model, provider route, and model switching statuslines. Existing model entries focus on history or token counting; this one focuses on the current provider/routing label.

Disclosure

Editorial statusline recipe. No paid placement or affiliate link is used.

#model#provider#routing#claude-code

Source citations

Signals

Loading live community signals…

More like this, weekly

A short, calm digest of reviewed Claude resources. Unsubscribe any time.