by Owloops
Beautiful vim-style powerline for Claude Code
# Add to your Claude Code skills
git clone https://github.com/Owloops/claude-powerlineGuides for using cli tools skills like claude-powerline.
Last scanned: 5/1/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@actions/http-client: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@isaacs/brace-expansion: @isaacs/brace-expansion has Uncontrolled Resource Consumption",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ajv: ajv has ReDoS when using `$data` option",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "diff: jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
"severity": "low"
},
{
"type": "npm-audit",
"message": "flatted: flatted vulnerable to unbounded recursion DoS in parse() revive phase",
"severity": "high"
},
{
"type": "npm-audit",
"message": "handlebars: Handlebars.js has JavaScript Injection via AST Type Confusion by tampering @partial-block",
"severity": "critical"
},
{
"type": "npm-audit",
"message": "lodash: Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions",
"severity": "high"
},
{
"type": "npm-audit",
"message": "lodash-es: Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions",
"severity": "high"
},
{
"type": "npm-audit",
"message": "minimatch: minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"severity": "high"
},
{
"type": "npm-audit",
"message": "npm: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "tar: node-tar Vulnerable to Arbitrary File Creation/Overwrite via Hardlink Path Traversal",
"severity": "high"
},
{
"type": "npm-audit",
"message": "undici: Undici has an unbounded decompression chain in HTTP responses on Node.js Fetch API via Content-Encoding leads to resource exhaustion",
"severity": "high"
}
],
"status": "FAILED",
"scannedAt": "2026-05-01T06:40:02.350Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}claude-powerline is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Owloops. Beautiful vim-style powerline for Claude Code. It has 1,130 GitHub stars.
claude-powerline failed SkillsLLM's automated security scan, which flagged one or more high-severity issues. Review the Security Report section carefully before using it.
Clone the repository with "git clone https://github.com/Owloops/claude-powerline" and add it to your Claude Code skills directory (see the Installation section above).
claude-powerline is primarily written in TypeScript. It is open-source under Owloops on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh claude-powerline against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
A vim-style powerline statusline for Claude Code with real-time usage tracking, git integration, and custom themes.
Requires Node.js 18+, Claude Code, and Git 2.0+. For best display, install a Nerd Font or use --charset=text for ASCII-only symbols.
The interactive wizard walks you through theme, style, font, segment, and budget selection.
# run inside Claude Code, one at a time
/plugin marketplace add Owloops/claude-powerline
/plugin install claude-powerline@claude-powerline
/powerline
The wizard writes ~/.claude/claude-powerline.json and updates your settings.json automatically. Run /powerline again any time to reconfigure.
Add to your Claude Code settings.json:
{
"statusLine": {
"type": "command",
"command": "npx -y @owloops/claude-powerline@latest --style=powerline"
}
}
Start a Claude session and the statusline appears at the bottom. Using npx automatically downloads and runs the latest version without manual updates.
powerline.owloops.com is a visual configurator for claude-powerline. Click segments in the preview to toggle options, switch styles and themes live, reorder, then copy or download the JSON into ~/.claude/claude-powerline.json. Paste an existing config to edit it.
6 built-in themes (dark, light, nord, tokyo-night, rose-pine, gruvbox) or create your own.
Config locations (in priority order):
./.claude-powerline.json - Project-specific~/.claude/claude-powerline.json - User config~/.config/claude-powerline/config.json - XDG standardOverride priority: CLI flags > Environment variables > Config files > Defaults
Config files reload automatically, no restart needed.
Get example config:
curl -o ~/.claude/claude-powerline.json https://raw.githubusercontent.com/Owloops/claude-powerline/main/.claude-powerline.json
CLI Options (both --arg value and --arg=value syntax supported):
--theme - dark (default), light, nord, tokyo-night, rose-pine, gruvbox, custom--style - minimal (default), powerline, capsule, tui--charset - unicode (default), text--config - Custom config file path--help - Show helpExamples:
claude-powerline --theme=nord --style=powerline
claude-powerline --theme=dark --style=capsule --charset=text
claude-powerline --config=/path/to/config.json
Environment Variables:
export CLAUDE_POWERLINE_THEME=dark
export CLAUDE_POWERLINE_STYLE=powerline
export CLAUDE_POWERLINE_CONFIG=/path/to/config.json
export CLAUDE_POWERLINE_DEBUG=1 # Enable debug logging
"directory": {
"enabled": true,
"style": "full"
}
Options:
style: Display format - full | fish | basename
full: Show complete path (e.g., ~/projects/claude-powerline)fish: Fish-shell style abbreviation (e.g., ~/p/claude-powerline)basename: Show only folder name (e.g., claude-powerline)In --worktree sessions, the directory segment automatically shows the original repo path instead of the worktree folder (no config required).
"git": {
"enabled": true,
"showSha": true,
"showWorkingTree": false,
"showOperation": false,
"showTag": false,
"showTimeSinceCommit": false,
"showStashCount": false,
"showUpstream": false,
"showRepoName": false
}
Options:
showSha: Show abbreviated commit SHAshowWorkingTree: Show staged/unstaged/untracked countsshowOperation: Show ongoing operations (MERGE/REBASE/CHERRY-PICK)showTag: Show nearest tagshowTimeSinceCommit: Show time since last commitshowStashCount: Show stash countshowUpstream: Show upstream branchshowRepoName: Show repository nameSymbols:
⎇ Branch • ♯ SHA • ⌂ Tag • ⧇ Stash • ✓ Clean • ● Dirty • ⚠ Conflicts • ↑3 Ahead • ↓2 Behind • (+1 ~2 ?3) Staged/Unstaged/Untracked~ Branch • # SHA • T Tag • S Stash • = Clean • * Dirty • ! Conflicts • ^3 Ahead • v2 Behind • (+1 ~2 ?3) Staged/Unstaged/Untracked"model": {
"enabled": true
}
Symbols: ✱ Model (unicode) • M Model (text)
"session": {
"enabled": true,
"type": "tokens",
"costSource": "calculated"
}
Options:
type: Display format - cost | tokens | both | breakdowncostSource: Cost calculation method - calculated (ccusage-style) | official (hook data)showUnits: Show the trailing tokens unit when type is tokens or both (default: true). Set to false to render § 4.4M instead of § 4.4M tokens. Only applies to the powerline/capsule/minimal styles; the tui style already renders tokens without a suffixSymbols: § Session (unicode) • S Session (text)
"today": {
"enabled": true,
"type": "both"
}
Options:
type: Display format - cost | tokens | both | breakdownshowUnits: Show the trailing tokens unit when type is tokens or both (default: true). Set to false to render ☉ $12.34 (4.4M) instead of ☉ $12.34 (4.4M tokens). Only applies to the powerline/capsule/minimal styles; the tui style already renders tokens without a suffixSymbols: ☉ Today (unicode) • D Today (text)
"context": {
"enabled": true,
"showPercentageOnly": false,
"displayStyle": "text",
"autocompactBuffer": 33000
}
Options:
showPercentageOnly: Show only percentage remaining (default: false)displayStyle: Visual style for context display (default: "text")autocompactBuffer: Number of tokens reserved as the auto-compact trigger zone (default: 33000). The usable percentage reflects how close you are to the point where compaction fires. Set to 0 if you have auto-compact disabled to show raw context usage insteadpercentageMode: How to display the percentage. "remaining" counts down from 100% (context left), "used" counts up from 0% (context consumed). Default depends on display style: "remaining" for text, "used" for bar stylesDisplay Styles:
| Style | Filled | Empty | Example |
|---|---|---|---|
text |
-- | -- | ◔ 34,040 (79%) |
ball |
─ | ─ | ─────●──── 50% |
bar |
▓ | ░ | ▓▓▓▓▓░░░░░ 50% |
blocks |
█ | ░ | █████░░░░░ 50% |
blocks-line |
█ | ─ | █████───── 50% |
capped |
━ | ┄ | ━━━━╸┄┄┄┄┄ 50% |
dots |
● | ○ | ●●●●●○○○○○ 50% |
filled |
■ | □ | ■■■■■□□□□□ 50% |
geometric |
▰ | ▱ | ▰▰▰▰▰▱▱▱▱▱ 50% |
line |
━ | ┄ | ━━━━━┄┄┄┄┄ 50% |
squares |
◼ | ◻ | ◼◼◼◼◼◻◻◻◻◻ 50% |
Symbols: ◔ Context (unicode) • C Context (text)
Configure context window limits for different model types. Defaults to 200K tokens for all models.
"modelContextLimits": {
"sonnet": 1000000,
"opus": 200000
}
Available Model Types:
sonnet: Claude Sonnet models (3.5, 4, etc.)opus: Claude Opus modelsdefault: Fallback for unrecognized models (200K)Note: Sonnet 4's 1M context window is currently in beta for tier 4+ users. Set "sonnet": 1000000 when you have access.
"block": {
"enabled": true,
"displayStyle": "text"
}
Options:
displayStyle: Visual style for utilization display (see table below)Requires Claude Code