statusline

Configure a custom command-based status line for the Cursor CLI prompt.

Updated Apr 15, 2026
One-click install
npx skills add https://github.com/shoshoavi/agentic_worflows --skill statusline-shoshoavi
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: statusline
Source: https://github.com/shoshoavi/agentic_worflows/tree/main/cursor/skills-cursor/statusline
Command: npx skills add https://github.com/shoshoavi/agentic_worflows --skill statusline-shoshoavi

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires jq.

What problem does it solve? Developers using the Cursor CLI lack visibility into session state such as the active model, context window usage, and worktree information, forcing them to manually check these details during long coding sessions. ## Core Features & Use Cases - Custom Status Line Commands: Register any executable or inline shell command via the statusLine entry in ~/.cursor/cli-config.json, with configurable padding, update interval, and timeout. - Rich Session Payload: The command receives a JSON payload on stdin containing model info, context window percentages, workspace paths, vim mode, and worktree details. - Flexible Rendering: Supports multi-line output and ANSI color codes, with example scripts for context progress bars, git branch display, and inline jq one-liners. - Use Case: A developer wants to see the current model name and a live context-usage bar above the prompt, so they point the config at a bash script that parses the JSON payload with jq and renders a colored progress bar. ## Quick Start Set up a custom status line in my Cursor CLI that shows the current model name and context window usage percentage.

Frequently Asked Questions about statusline

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure a custom status line in the Cursor CLI?▼

Add a statusLine entry to ~/.cursor/cli-config.json with type set to "command" and a command field pointing to an executable script or inline command. Optional fields include padding, updateIntervalMs (minimum 300ms), and timeoutMs (default 2000ms).

What data does the Cursor CLI status line command receive?▼

The command receives a JSON payload on stdin containing session_id, transcript_path, model details, workspace paths, context window token usage and percentages, vim mode, and worktree information. Some fields like session_name, vim, and worktree are only present when applicable.

Can the CLI status line display multiple lines and colors?▼

Yes, each line of stdout renders as a separate row in the status area, and ANSI color codes are fully supported. You can use tools like chalk, tput, or raw escape sequences such as \033[32m for coloring.

Why is my status line not updating when the script fails?▼

If the command exits non-zero with empty stdout, the previous status text is kept instead of clearing. Commands that exceed the timeout or overlap with a new update are killed, so keep scripts fast and always emit output on success.

Does the status line command consume API tokens?▼

No, the status line runs entirely locally as a spawned child process and does not consume API tokens. Updates are debounced at the configured interval, clamped to a minimum of 300ms.