
Research
/Security News
Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.
@feniix/pi-statusline
Advanced tools
Fixed two-line status footer for pi with model, thinking, context, git, token, worktree, and skill indicators
A fixed two-line status display for pi.
By default it renders in the footer in interactive/RPC mode and stays inert in non-UI modes (-p, JSON mode).
It is not injected into model context and is not sent as messages.
In UI-capable sessions, it also exposes a /statusline tool for explicit retrieval.
Model: ... | Thinking: ... | Ctx: ... | ⎇ ... | dirty: +... | ↑.../↓...
<repo> | cwd: ... | 𖠰 ... | Skill: ... | Act: ...
The footer now updates continuously during active work instead of only at the end of a turn. This includes:
To avoid excessive redraws, streaming-triggered footer renders are throttled.
The activity segment summarizes what pi is doing right now. Examples:
Act: queuedAct: thinkingAct: respondingAct: bashAct: bash x2Act: idleThe skill segment tracks the latest explicit skill command seen in user input. Examples:
/skill:release -> Skill: release/release -> Skill: release if release is registered as a skill command in the current sessionToken totals are based on assistant usage in the session branch. During active streaming, the extension also uses the latest live assistant usage when available so the token display can update before the turn fully finishes.
𖠰 main𖠰 no gitpi-statusline uses a built-in defaultPalette, but you can override any subset of colors through pi's standard settings files.
Settings locations:
~/.pi/agent/settings.json.pi/settings.jsonUse the pi-statusline key for non-secret configuration:
{
"pi-statusline": {
"palette": {
"model": "#008787",
"activity": "#5FAF00"
}
}
}
pi-statusline does not need secrets. As a general pi convention, keep settings.json for non-secret defaults; credentials belong in environment variables, OAuth/private auth files, or explicit custom config files used by extensions that support them.
Supported palette keys:
backgroundmodelrepothinkingskillcontextbranchdirtytokenseparatorscwdworktreeactivityBehavior:
defaultPalette#008787Run from the repo root:
npm run test
npm run typecheck
For quick manual testing from this monorepo:
cd packages/pi-statusline
pi
This repo's root package.json already auto-loads packages/pi-statusline/extensions/index.ts, so using pi -e . or pi -e ./extensions/index.ts from inside the workspace will load the extension twice and cause a tool-name conflict.
If you want to test it as a standalone extension outside this workspace, run pi from another directory and pass the explicit file path:
cd /tmp
pi -e /Users/feniix/src/personal/pi/pi-extensions/packages/pi-statusline/extensions/index.ts
FAQs
Fixed two-line status footer for pi with model, thinking, context, git, token, worktree, and skill indicators
We found that @feniix/pi-statusline demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.

Security News
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.