שורת הסטטוס היא פס הניתן להתאמה אישית בתחתית Claude Code. היא מריצה כל סקריפט מעטפת שתגדיר, מקבלת נתוני סשן JSON דרך stdin ומציגה את מה שהסקריפט מדפיס.
מה זה עושה / למה זה שימושי
שורת הסטטוס שימושית כשרוצים מבט-על מתמיד על שימוש בחלון ההקשר, עלות הסשן, ענף git, שם המודל או כל מידע אחר. היא מתעדכנת אוטומטית לאחר כל הודעת עוזר, אחרי /compact, בשינוי מצב הרשאות ובהחלפת vim mode. שורת הסטטוס מוצגת בשורה נפרדת מעל הסמלים המובנים בתחתית — היא אינה מחליפה אותם.
איך משתמשים
הגדרה עם פקודה — הריצו /statusline עם תיאור בשפה טבעית:
/statusline show model name and context percentage with a progress barClaude Code יצור את הסקריפט ב-~/.claude/ ויעדכן את ההגדרות אוטומטית.
הגדרה ידנית — הוסיפו שדה statusLine ל-settings (~/.claude/settings.json):
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh",
"padding": 2
}
}ניתן גם להשתמש בפקודת shell מוטמעת עם jq:
{
"statusLine": {
"type": "command",
"command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'"
}
}שדות אופציונליים
| שדה | תיאור | ברירת מחדל |
| :--- | :--- | :--- |
| padding | ריווח אופקי נוסף (בתווים) | 0 |
| refreshInterval | הרצה מחדש כל N שניות (מינימום 1), לנתונים זמן-מבוססים | לא מוגדר |
| hideVimModeIndicator | הסתר את הטקסט המובנה -- INSERT -- | false |
בניית סקריפט שורת סטטוס — שלב אחר שלב
Claude Code שולח JSON עם נתוני הסשן לסקריפט דרך stdin. הסקריפט קורא את ה-JSON, מחלץ את הנתונים הרצויים ומדפיס טקסט ל-stdout.
#!/bin/bash
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)
echo "[$MODEL] ${DIR##*/} | ${PCT}% context"שמרו את הסקריפט ב-~/.claude/statusline.sh והפכו אותו לניתן הרצה:
chmod +x ~/.claude/statusline.shנתונים זמינים
Claude Code שולח את שדות ה-JSON הבאים לסקריפט:
| שדה | תיאור |
| :--- | :--- |
| model.id, model.display_name | מזהה ושם המודל הנוכחי |
| workspace.current_dir | תיקיית העבודה הנוכחית |
| workspace.project_dir | תיקייה שממנה הופעל Claude Code |
| workspace.repo.host/owner/name | פרטי ה-repository מה-origin remote |
| cost.total_cost_usd | עלות משוערת של הסשן בדולרים |
| cost.total_duration_ms | זמן כולל מאז תחילת הסשן (ms) |
| context_window.used_percentage | אחוז חלון ההקשר בשימוש |
| context_window.context_window_size | גודל חלון ההקשר המרבי בטוקנים |
| context_window.total_input_tokens | מספר טוקני קלט בחלון הנוכחי |
| rate_limits.five_hour.used_percentage | אחוז מגבלת rate limit של 5 שעות (למנויי Claude.ai) |
| session_id | מזהה ייחודי של הסשן |
| session_name | שם מותאם שהוגדר עם --name או /rename |
| version | גרסת Claude Code |
| vim.mode | מצב vim הנוכחי כשvim mode פעיל |
| output_style.name | שם סגנון הפלט הנוכחי |
| pr.number, pr.url | מספר ו-URL של ה-PR הפתוח לענף הנוכחי |
גודל התצוגה לפי מסוף
Claude Code מגדיר את משתני הסביבה COLUMNS ו-LINES לפני הרצת הסקריפט, כך שניתן להשתמש בהם לחישוב רוחב נכון (דורש v2.1.153 ומעלה). אין להשתמש ב-tput cols כי stdin מופנה ל-pipe.
השבתת שורת הסטטוס
הריצו /statusline ובקשו למחוק: /statusline delete. לחלופין, הסירו ידנית את שדה statusLine מקובץ settings.json.