Skip to content

Feature: hide the Claude Code / Codex statusline badge (hideStatus parity with pi) #659

Description

@sabasiddique1

Not a bug report. #324 was clearly about pi and it's closed, so I don't want to
reopen that one — this is asking for the same escape hatch on the Claude Code /
Codex side.

Right now if I want the badge gone, I delete the statusLine block from
settings.json by hand and paste it back when I want it again. Fine once,
annoying if you toggle it.

What threw me is that getHideStatus() lives in hooks/ponytail-config.js,
which is the module the Claude/Codex hooks use. I assumed it applied to me and
set the env var:

export CLAUDE_CONFIG_DIR=$(mktemp -d)
PONYTAIL_HIDE_STATUS=1 node hooks/ponytail-activate.js > /dev/null
PONYTAIL_HIDE_STATUS=1 bash hooks/ponytail-statusline.sh
# prints [PONYTAIL]

Nothing happens, and no error either. The value resolves fine, it's just that
pi-extension/index.js is the only thing reading it. ponytail-statusline.ps1
looks the same to me but I'm on Linux so I haven't actually run it.

I get why the statusline can't read the config itself. It's a shell script that
runs on every prompt and all it does is stat .ponytail-active.

One idea, since ponytail-activate.js already reads the config at SessionStart:
have it drop a .ponytail-hidden file next to .ponytail-active, and have both
statusline scripts bail out if they see it. No JSON parsing in bash, nothing
extra per render, and because it gets rewritten every session start, unsetting
the var brings the badge back on its own. Probably wants a line in
scripts/uninstall.js too.

I have this working locally with tests if a PR would help. Equally happy if the
answer is just "hideStatus is pi-only", a sentence saying so would close it,
and #607 is already adding a "Status-line format (pi)" section that could carry
it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions