frontmatter

Status line

Statuslines .claude/settings.json Vendor docs

stdin

name type required meaning concept
agent.name string Agent name when running with the `--agent` flag or agent settings configured docs ↗
context_window.context_window_size string Maximum context window size in tokens. 200000 by default, or 1000000 for models with extended context. docs ↗
context_window.current_usage string Token counts from the last API call, described in context window fields docs ↗
context_window.remaining_percentage string Pre-calculated percentage of context window remaining docs ↗
context_window.total_input_tokens string Token counts currently in the context window, from the most recent API response. Input includes cache reads and writes. Before v2.1.132 these were cumulative session totals docs ↗
context_window.total_output_tokens string Token counts currently in the context window, from the most recent API response. Input includes cache reads and writes. Before v2.1.132 these were cumulative session totals docs ↗
context_window.used_percentage string Pre-calculated percentage of context window used docs ↗
cost.total_api_duration_ms string Total time spent waiting for API responses in milliseconds docs ↗
cost.total_cost_usd string Estimated session cost in USD, computed client-side. May differ from your actual bill docs ↗
cost.total_duration_ms string Total wall-clock time since the session started, in milliseconds docs ↗
cost.total_lines_added string Lines of code changed docs ↗
cost.total_lines_removed string Lines of code changed docs ↗
cwd string Current working directory. Both fields contain the same value; `workspace.current_dir` is preferred for consistency with `workspace.project_dir`. docs ↗
effort.level string Current reasoning effort (`low`, `medium`, `high`, `xhigh`, or `max`). Reflects the live session value, including mid-session `/effort` changes. Ultracode is not a distinct level and reports as `xhigh`. Absent when the current model does... docs ↗
exceeds_200k_tokens string Whether the total token count (input, cache, and output tokens combined) from the most recent API response exceeds 200k. This is a fixed threshold regardless of actual context window size. docs ↗
model.display_name string Current model identifier and display name docs ↗
model.id string Current model identifier and display name docs ↗
output_style.name string Name of the current output style docs ↗
pr.number string Open pull request for the current branch. Mirrors the PR badge in the bottom status bar. Absent until a PR is found, when not in a git repository, or once the PR merges or closes docs ↗
pr.review_state string Review status of the open PR: `approved`, `pending`, `changes_requested`, or `draft`. May be independently absent even when `pr` is present docs ↗
pr.url string Open pull request for the current branch. Mirrors the PR badge in the bottom status bar. Absent until a PR is found, when not in a git repository, or once the PR merges or closes docs ↗
prompt_id string UUID identifying the user prompt currently being processed. Matches the `prompt.id` attribute on OpenTelemetry events. Absent until the first user input. Requires Claude Code v2.1.196 or later docs ↗
rate_limits.five_hour.resets_at string Unix epoch seconds when the 5-hour or 7-day rate limit window resets docs ↗
rate_limits.five_hour.used_percentage string Percentage of the 5-hour or 7-day rate limit consumed, from 0 to 100 docs ↗
rate_limits.seven_day.resets_at string Unix epoch seconds when the 5-hour or 7-day rate limit window resets docs ↗
rate_limits.seven_day.used_percentage string Percentage of the 5-hour or 7-day rate limit consumed, from 0 to 100 docs ↗
session_id string Unique session identifier docs ↗
session_name string Custom session name set with the `--name` flag or `/rename`. Absent if no custom name has been set docs ↗
thinking.enabled string Whether extended thinking is enabled for the session docs ↗
transcript_path string Path to conversation transcript file docs ↗
version string Claude Code version docs ↗
vim.mode string Current vim mode (`NORMAL`, `INSERT`, `VISUAL`, or `VISUAL LINE`) when vim mode is enabled docs ↗
workspace.added_dirs string Additional directories added via `/add-dir` or `--add-dir`. Empty array if none have been added docs ↗
workspace.current_dir string Current working directory. Both fields contain the same value; `workspace.current_dir` is preferred for consistency with `workspace.project_dir`. docs ↗
workspace.git_worktree string Git worktree name when the current directory is inside a linked worktree created with `git worktree add`. Absent in the main working tree. Populated for any git worktree, unlike `worktree.*` which applies only to `--worktree` sessions docs ↗
workspace.project_dir string Directory where Claude Code was launched, which may differ from `cwd` if the working directory changes during a session docs ↗
workspace.repo.host string Repository identity parsed from the `origin` remote, for example `"github.com"`, `"anthropics"`, `"claude-code"`. Absent outside a git repository or when no `origin` remote is configured docs ↗
workspace.repo.name string Repository identity parsed from the `origin` remote, for example `"github.com"`, `"anthropics"`, `"claude-code"`. Absent outside a git repository or when no `origin` remote is configured docs ↗
workspace.repo.owner string Repository identity parsed from the `origin` remote, for example `"github.com"`, `"anthropics"`, `"claude-code"`. Absent outside a git repository or when no `origin` remote is configured docs ↗
worktree.branch string Git branch name for the worktree (for example, `"worktree-my-feature"`). Absent for hook-based worktrees docs ↗
worktree.name string Name of the active worktree. Present only during `--worktree` sessions docs ↗
worktree.original_branch string Git branch checked out before entering the worktree. Absent for hook-based worktrees docs ↗
worktree.original_cwd string The directory Claude was in before entering the worktree docs ↗
worktree.path string Absolute path to the worktree directory docs ↗