How statuslin.es checks mods and status lines
Every status line and mod passes these four checks before you can install it, and every update passes them again.
Pinned to one version
A mod is pinned to one commit of its GitHub repository, and a status line to the SHA-256 hash of its script. Installing gets you that version, whatever the author pushes later.
{
"name": "narrator",
"source": {
"source": "git-subdir",
"url": "https://github.com/midudev/better-claude.git",
"path": "plugins/narrator",
"sha": "a2babd9fdc2470ab7541e993b3e6cce55c46d032"
}
}Narrator's entry in statuslin.es/marketplace.json, the file Claude Code installs mods from. Its sha is the pinned commit.
Run in a sandbox
Before it's listed, it runs in a fresh sandbox that records the previews on its page. A status line runs in 8 sample sessions, and a mod in the terminal and in Claude Desktop. The sandbox can't reach the internet unless the hosts it needs are approved, and it's thrown away after each run.
Opus 4.8 high ✦ │ ctx 22% │ app (main) │ PR #1287 ● │ $0.41 · 10m +128 -34
Session ● ● ● ● ● ● ● ● ○ ○ ○ 74% left Resets in 2h 6m
Weekly ● ● ● ● ● ● ● ● ● ● ○ 93% left Resets in 2d 0h
Opus 4.8 high │ ctx 0% │ app (main) │ $0.00 · 10m
Sonnet 4.6 medium ✦ │ ctx 48% │ app ⎇ feat-auth* │ PR #1290 ● │ $0.41 · 10m +128 -34
Session ● ● ● ● ● ● ● ○ ○ ○ ○ 60% left Resets in 1h 11m
Weekly ● ● ● ● ● ● ● ● ● ○ ○ 82% left Resets in 2d 21h
Adaptive Cost Panel, as the sandbox recorded it.
The sandbox is only for previews
Installed, a status line or mod runs on your machine with your permissions.
Reviewed before it's listed
When a status line is submitted, checks look for hidden or encoded code and for reads of credentials such as SSH or AWS keys, and refuse it if they find either. Nothing goes live on its own. Review looks at:
- Its source, at the pinned version
- The previews the sandbox recorded
- The hosts it asks to connect to, and whether it reads your Claude login
- For a mod, the events it hooks and the $ calls it makes, from claude plugin validate
An update is a new version and goes through every step again. The live version stays up until the update is approved.
Listed with what it can reach
Its page shows what it can reach, right by the install button. For a mod, that comes from its footprint. For a status line, it comes from the checks on its script and the hosts approved for it. None of it comes from the author's description.
What this mod can do
- Reviewed at commit a2babd9
- Runs programs
- Sends its own requests to Claude, which uses your tokens
- Reads environment variables
- Sees each prompt you send and can change or drop it
- Sees each tool call before it runs and can block or change it
- Also uses $.audio.speak, which this page doesn't describe yet
4 more things it can do
- Remembers data between sessions
- Adds the /narrator command
- Adds the /recap command
- Runs on a timer
Good to know (3)
- Each narrated turn makes a Haiku call, which uses your tokens.
- Voices: Siri's on macOS, Narrator's on Windows, speech-dispatcher or espeak on Linux.
- It stays on in later sessions until you switch it off.
Narrator's panel, as its own page shows it.
If something turns up after it's listed, the listing can come down at once.
All of it is open source
statuslin.es is open source. The sandbox, the checks on submitted scripts, the review queue and /marketplace.json are code in its public repository, so you can read exactly what each step does.
Read it at statuslin.es on GitHub. If you find a way around a check, SECURITY.md says how to report it.
What review can't promise
- Review lowers the risk. It can't rule it out.
- A reviewer can miss something.
- Read the source from its page before you install, and again before you update.
Are Claude Code mods safe? covers what a mod can do once installed and how to check one yourself.