Why is the isogit CLI so vastly different to git?
Author: SimonEastCreated Jun 28, 2026Updated Jun 28, 2026
Hi. I've just come across isomorphic-git for the first time today and was trying out the CLI.
When I read on the website that "isomorphic-git aims for 100% interoperability with the canonical git implementation", I assumed the commands would be the same. Yet the basics like git status and git add don't work like I was expecting.
git status
standard git:
>git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)isogit:
❯ isogit status
The function requires a "filepath" parameter but none was provided.
MissingParameterError: The function requires a "filepath" parameter but none was provided.
at new BaseError (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/index.cjs:353:5)
at new MissingParameterError (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/index.cjs:3846:5)
at assertParameter (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/index.cjs:5276:11)
at Object.status (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/index.cjs:16138:5)
at eval (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/cli.cjs:14:38)
at module.exports (/home/projects/stackblitz-starters-ndddfnsm/node_modules/minimisted/index.js:12:10)
at Object.eval (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/cli.cjs:12:1)
at Module._compile (node:internal/modules/cjs/loader:160:19302)
at Module._extensions..js (node:internal/modules/cjs/loader:160:20043) {
caller: 'git.status',
code: 'MissingParameterError',
data: { parameter: 'filepath' }
}Why does it require a "filepath" parameter? I just want the overall status of the repo/working directory.
git add .
standard git:
>git add .(stages all files in the current directory)
isogit:
>isogit add .
The function requires a "filepath" parameter but none was provided.
MissingParameterError: The function requires a "filepath" parameter but none was provided.
at new BaseError (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/index.cjs:353:5)
at new MissingParameterError (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/index.cjs:3846:5)
at assertParameter (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/index.cjs:5276:11)
at Object.add (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/index.cjs:5647:5)
at eval (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/cli.cjs:14:38)
at module.exports (/home/projects/stackblitz-starters-ndddfnsm/node_modules/minimisted/index.js:12:10)
at Object.eval (/home/projects/stackblitz-starters-ndddfnsm/node_modules/isomorphic-git/cli.cjs:12:1)
at Module._compile (node:internal/modules/cjs/loader:160:19302)
at Module._extensions..js (node:internal/modules/cjs/loader:160:20043) {
caller: 'git.add',
code: 'MissingParameterError',
data: { parameter: 'filepath' }Do I really have to pass in a --filepath parameter to every CLI command?
Can someone help me understand if this behaviour is intentional, and why so?
Source: isomorphic-git/isomorphic-git