choas/claude-mods/tree/main/cwd-status
cwd-status
A Claude Code mod that displays the folder the session is working in on the status line, including where Bash commands cd to, with home shortened to ~.
About this mod
cwd-status is a small Claude Code plugin that adds the current working folder to the footer next to the mode labels, shown as 📁 <folder> with the home directory shortened to ~. It follows the session's working folder and also reflects the target of a cd or pushd inside a Bash command (e.g. cd ../other && make) until the next tool runs. It ships as part of the choas/claude-mods marketplace and can be installed with /plugin marketplace add choas/claude-mods followed by /plugin install cwd-status@my-mods, then /reload-plugins. A companion git-status mod shows branch, uncommitted entries and unpushed commits, works independently of cwd-status, and uses git status --porcelain=v2 --branch with optional locks off and a 5 s timeout. Development supports claude plugin validate/test and claude --plugin-dir, and the project is MIT licensed.
Installation
Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.
claude plugin marketplace add choas/claude-mods claude plugin install cwd-status
Original text / README
my-mods
Small Claude Code mods that add live info to the footer, next to the mode labels.
| Mod | Shows | Example |
| --- | --- | --- |
| cwd-status | The folder Claude is working in, including where a Bash command cds to | 📁 ~/prj/app |
| git-status | Branch, uncommitted files and unpushed commits of that folder's repo | ⎇ main ●3 ↑2 |
Together they read like 📁 ~/prj/app ⎇ main ●3 ↑2.
Install
In Claude Code, add this marketplace once:
/plugin marketplace add choas/claude-mods
Then install one or both mods:
/plugin install cwd-status@my-mods
/plugin install git-status@my-mods
Run /reload-plugins (or restart Claude Code) and the labels show up in the footer.
You can also browse and install them interactively with /plugin → Marketplaces → my-mods.
Update
/plugin marketplace update my-mods
Uninstall
/plugin uninstall cwd-status@my-mods
/plugin uninstall git-status@my-mods
cwd-status
Shows 📁 <folder> with your home folder shortened to ~.
- Follows the session's working folder.
- When a Bash command
cds orpushdes somewhere (cd ../other && make), it shows that folder until the next tool runs.
git-status
Shows the git state of the current folder:
| Part | Meaning |
| --- | --- |
| ⎇ main | Current branch (short commit hash on a detached HEAD) |
| ●3 | Uncommitted entries: modified, staged, renamed, conflicted and untracked |
| ↑2 | Commits not pushed yet: ahead of the upstream, or, without an upstream, commits on no remote |
●and↑only appear when non-zero; outside a git repo nothing is shown.- Refreshes when the session starts, on every prompt (so commits made in another terminal show up), after Bash/Edit/Write tool calls, and when the folder changes.
- Follows
cdinside Bash commands on its own, so it works without cwd-status. - Uses
git status --porcelain=v2 --branchwith optional locks off and a 5 s timeout, so it never blocks your repo.
Requires git on your PATH.
Development
Each mod is a plugin folder with a hooks module (hooks/register.ts), a state contract (types/index.d.ts) and tests:
claude plugin validate git-status
claude plugin test git-status
To try local changes, point Claude Code at the folder: claude --plugin-dir ./git-status.
License
MIT
