statusline

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

3|Updated Jul 2, 2026
One-click install
npx skills add https://github.com/ArangoGutierrez/claude-toolkit --skill statusline-arangogutierrez
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: statusline
Source: https://github.com/ArangoGutierrez/claude-toolkit/tree/main/.cursor/skills-cursor/statusline
Command: npx skills add https://github.com/ArangoGutierrez/claude-toolkit --skill statusline-arangogutierrez

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers using the Cursor CLI lack visibility into session state such as the active model, context window usage, git branch, and worktree. This Skill explains how to configure a custom status line that renders that session context above the prompt on every update. ## Core Features & Use Cases - Command-based status line: Configure a statusLine entry in ~/.cursor/cli-config.json pointing to a script or inline command that receives a JSON session payload on stdin and renders stdout above the prompt. - Rich session payload: Access fields like model display name, context window usage percentages, working directory, vim mode, and worktree info to build informative status lines. - Rendering control: Supports multi-line output, ANSI color codes, configurable padding, update intervals, and timeouts. - Use Case: You want to see your current model and a context-usage progress bar at all times while working in the CLI, so you write a small bash script using jq that renders [Claude 4 Opus] ▓▓▓░░░░░░░ 34% and register it as your status line command. ## Quick Start Ask the AI to set up a Cursor CLI status line that shows the current model name and context usage percentage using a bash script with jq.

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. The command receives a JSON session payload on stdin and its stdout is rendered above the prompt.

What data is available in the Cursor CLI status line payload?▼

The stdin JSON payload includes session_id, transcript_path, cwd, model id and display name, context window token usage and percentages, vim mode, worktree name and path, CLI version, and output style. Some fields like vim and worktree are only present when applicable.

Can the Cursor CLI status line show colors and multiple lines?▼

Yes, the status line supports ANSI color codes such as \033[32m and multi-line output, where each line of stdout renders as a separate row. You can also set a padding value in the configuration for horizontal inset.

Why is my Cursor CLI status line not updating?▼

If the command exits non-zero with empty stdout, the previous status text is kept. Also check that your script finishes within the 2000ms default timeout, since long-running commands are killed, and updates are debounced to at most once per 300ms.

How do I test a status line script without running the CLI?▼

Pipe a mock JSON payload into your script, for example: echo '{"model":{"display_name":"Opus"},"context_window":{"used_percentage":25}}' | ./statusline.sh. This simulates the stdin payload the CLI sends on each update.